diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aeda2c8458eacbbc45e4bf47066855395ff21e06..7f77d11e66fe1e352e9337779f7c3cc523fd94b0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,8 +12,8 @@ variables: # `installAtEnd` and `deployAtEnd` are only effective with recent version of the corresponding plugins. MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true" -# This template uses jdk11 for verifying and deploying images -image: maven:3.6.3-jdk-11 +# This template uses jdk17 for verifying and deploying images +image: registry.forgemia.inra.fr/agroclim/common/docker-projets-java:latest # Cache downloaded dependencies and plugins between builds. # To keep cache across branches add 'key: "$CI_JOB_NAME"' @@ -23,17 +23,16 @@ cache: # Test with coverage report # https://docs.gitlab.com/ee/ci/testing/test_coverage_visualization.html -test-jdk11: +test-jdk17: stage: test - image: maven:3.6.3-jdk-11 script: - mvn $MAVEN_CLI_OPTS clean org.jacoco:jacoco-maven-plugin:prepare-agent test jacoco:report artifacts: paths: - target/site/jacoco/jacoco.xml -coverage-jdk11: - # Must be in a stage later than test-jdk11's stage. +coverage-jdk17: + # Must be in a stage later than test-jdk17's stage. # The `visualize` stage does not exist by default. # Please define it first, or choose an existing stage like `deploy`. stage: deploy @@ -41,7 +40,7 @@ coverage-jdk11: script: # convert report from jacoco to cobertura, using relative project path - python /opt/cover2cover.py target/site/jacoco/jacoco.xml $CI_PROJECT_DIR/src/main/java/ > target/site/cobertura.xml - needs: ["test-jdk11"] + needs: ["test-jdk17"] artifacts: reports: coverage_report: @@ -58,7 +57,7 @@ coverage-jdk11: variables: - $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH -# Verify merge requests using JDK11 -verify:jdk11: +# Verify merge requests using JDK17 +verify:jdk17: <<: *verify diff --git a/README.md b/README.md index d426c78061168f169dd8229d97499ee5ae644a69..2a615ae8f8e1cc50dadd05b49cebff11ad63082d 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,14 @@ - Use specifications from [Apereo](https://apereo.github.io/cas/6.5.x/protocol/CAS-Protocol-Specification.html). - Install it on Tomcat. +## ðŸ› ï¸ Tech Stack + +- Jakarta 10 +- Java 17 +- [Maven](https://maven.apache.org/) 3.8 +- [Log4j2](https://logging.apache.org/log4j/2.x/index.html) +- [Lombok](https://projectlombok.org/) + ## Development 1. Package with `mvn package`. @@ -16,7 +24,7 @@ Ensure code is well written with `mvn checkstyle:checkstyle pmd:pmd pmd:cpd spotbugs:spotbugs`. -## Installation +## ðŸ› ï¸ Installation Use Maven to deploy on Tomcat. Eg. with server `siclima-preprod`: @@ -29,7 +37,7 @@ with `~/.m2/settings.xml` with something like: <server> <id>siclima-preprod</id> <configuration> - <cargo.remote.uri>http://siclima-preprod:8080/manager/text</cargo.remote.uri> + <cargo.remote.uri>http://siclima-preprod:8081/manager/text</cargo.remote.uri> <cargo.remote.username>tomcat-user</cargo.remote.username> <cargo.remote.password>tomcat-password</cargo.remote.password> </configuration> @@ -41,9 +49,9 @@ with `~/.m2/settings.xml` with something like: Simply use these URL to configure CAS in the app (Example with server `siclima-preprod`): -- <http://siclima-preprod:8080/dev-cas/> : root URL for the CAS server. -- <http://siclima-preprod:8080/dev-cas/login> : to build the login process URL -- <http://siclima-preprod:8080/dev-cas/logout> : to logout the user +- <http://siclima-preprod:8081/dev-cas/> : root URL for the CAS server. +- <http://siclima-preprod:8081/dev-cas/login> : to build the login process URL +- <http://siclima-preprod:8081/dev-cas/logout> : to logout the user Project reports are available using Maven: `mvn site` and then see `target/site/index.html`. diff --git a/bin/sloccount.sh b/bin/sloccount.sh index b15e5804f88ded23261ec0eee3f06905db376c32..b3d17559dbbc754d757bf6f9d4d74eef9157fdb8 100755 --- a/bin/sloccount.sh +++ b/bin/sloccount.sh @@ -1,30 +1,72 @@ #!/bin/bash +BIN_DIR=$(dirname $0) +ROOT_DIR=$(dirname $BIN_DIR) +TOKEI2CLOC=$BIN_DIR/tokei2cloc.py +TOKEI=$(command -v tokei) +TOKEI_VERSION="12.1.2" -TOKEI2SLOCCOUNT=$(dirname $0)/tokei2sloccount.py -TOKEI2CLOC=$(dirname $0)/tokei2cloc.py -TOKEITGZ=tokei-v7.0.3-x86_64-unknown-linux-gnu.tar.gz -if [ ! -f bin/tokei ]; then - mkdir -p ~/tmp bin - if [ ! -f ~/tmp/$TOKEITGZ ]; then - wget "https://github.com/Aaronepower/tokei/releases/download/v7.0.3/$TOKEITGZ" -O ~/tmp/$TOKEITGZ +function check_tokei_version() { + echo "Checking tokei version" + VERSION=$($TOKEI --version | awk '{print $2}') + echo "tokei version: $VERSION" + echo "tokei expected version: $TOKEI_VERSION" + if [ "$TOKEI_VERSION" == "$VERSION" ]; then + return 0 fi - tar zxf ~/tmp/$TOKEITGZ -C bin + return 1 +} + +function install_tokei() { + echo "Installing tokei" + TOKEITGZ=tokei-x86_64-unknown-linux-gnu.tar.gz + TOKEITMP=~/tmp/tokei-$TOKEI_VERSION.tar.gz + if [ -f $TOKEITMP ]; then + if ! gzip -t $TOKEITMP; then + echo "$TOKEITMP is not a valid gzip archive" + rm -f $TOKEITMP + fi + fi + if [ ! -f $TOKEITMP ]; then + mkdir -p ~/tmp + URL="https://github.com/XAMPPRocky/tokei/releases/download/v$TOKEI_VERSION/$TOKEITGZ" + echo "Downloading tokei from $URL" + curl --location $URL -o $TOKEITMP + fi + echo "Extracting tokei" + tar zxf $TOKEITMP -C $BIN_DIR + TOKEI=$BIN_DIR/tokei +} + +PYTHON=$(command -v python) +if [ ! -x "$PYTHON" ]; then + PYTHON=$(command -v python3) fi -if [ -f bin/tokei ]; then - mkdir -p target - #bin/tokei -f -o json src | $TOKEI2SLOCCOUNT > target/sloccount.sc - bin/tokei -f -o json src | $TOKEI2CLOC > target/cloc.xml - exit +if [ ! -x "$PYTHON" ]; then + echo "Strange, python not found!" + exit 1 fi -SLOCCOUNT=$(which sloccount); -if [ "$SLOCCOUNT" != "" ]; then - DATADIR=$(dirname $0)/.slocdata; - if [ ! -f $DATADIR ]; then - mkdir -p $DATADIR; +if [ ! -x "$TOKEI" ]; then + if [ -f $BIN_DIR/tokei ]; then + TOKEI=$BIN_DIR/tokei fi - mkdir -p target ; - /usr/bin/sloccount --datadir $DATADIR --duplicates --wide --details src > target/sloccount.sc; -else - echo "sloccount not found!"; -fi \ No newline at end of file +fi + +if [ -x "$TOKEI" ]; then + check_tokei_version + if [ $? -eq 1 ]; then + install_tokei + fi +fi +if [ ! -x "$TOKEI" ]; then + install_tokei +fi +if [ ! -f $TOKEI ]; then + echo "Strange, $TOKEI does not exist!" + exit 1 +fi + +echo "tokei is installed at $TOKEI" +$TOKEI --version +mkdir -p $ROOT_DIR/target +$TOKEI -f -o json $ROOT_DIR/src | $PYTHON $TOKEI2CLOC > $ROOT_DIR/target/cloc.xml diff --git a/bin/tokei2cloc.py b/bin/tokei2cloc.py index 7fd5f60d94cb43bfcf0043c053716ecd0c8f0039..bc41a97876ca9d42b55f6a2aaa1e2590312f3d01 100755 --- a/bin/tokei2cloc.py +++ b/bin/tokei2cloc.py @@ -1,29 +1,12 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- coding: UTF-8 -*- -# -# data.pheno.fr - Phenological data portal of TEMPO -# Copyright © 2019 TEMPO (contact-tempo@inrae.fr) -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# $Id: tokei2cloc.py 77 2019-01-11 17:24:18Z omaury $ +# $Id$ # # Author : Olivier Maury # Creation Date : 2019-01-15 10:30:29 +0200 -# Last Revision : $Date: 2019-01-11 18:24:18 +0100 (ven., 11 janv. 2019) $ -# Revision : $Rev: 77 $ +# Last Revision : $Date$ +# Revision : $Rev$ u""" [1mNOM[m %prog - Tokei2Cloc @@ -38,10 +21,10 @@ u""" Olivier Maury [1mVERSION[m - $Date: 2019-01-11 18:24:18 +0100 (ven., 11 janv. 2019) $ + $Date$ """ -__revision__ = "$Rev: 77 $" +__revision__ = "$Rev$" __author__ = "Olivier Maury" import json import sys @@ -52,8 +35,10 @@ results = json.loads(sys.stdin.read()) nb_files = 0 nb_lines = 0 for lang in results: - nb_files += len(results[lang]['stats']) - nb_lines += int(results[lang]['lines']) + nb_files += len(results[lang]['reports']) + nb_lines += int(results[lang]['blanks']) + nb_lines += int(results[lang]['code']) + nb_lines += int(results[lang]['comments']) print("""<?xml version="1.0"?><results> <header> @@ -73,10 +58,10 @@ total_blank = 0 total_comment = 0 total_code = 0 for lang in results: - for result in results[lang]['stats']: - blank = int(result['blanks']) - comment = int(result['comments']) - code = int(result['code']) + for result in results[lang]['reports']: + blank = int(result['stats']['blanks']) + comment = int(result['stats']['comments']) + code = int(result['stats']['code']) print(""" <file name="%s" blank="%d" comment="%d" code="%d" language="%s" />""" % (result['name'], blank, comment, code, lang)) total_blank += blank diff --git a/config/tomcat9x/conf/context.xml b/config/tomcat10x/conf/context.xml similarity index 100% rename from config/tomcat9x/conf/context.xml rename to config/tomcat10x/conf/context.xml diff --git a/pom.xml b/pom.xml index 87815242bbfc263d0a8de5ee1a2b6a5334cb817d..78675efb09748e97ce66e4934029c295177b9534 100644 --- a/pom.xml +++ b/pom.xml @@ -34,19 +34,19 @@ </ciManagement> <properties> <!-- Dependencies versions --> - <jstl.version>1.2</jstl.version> - <junit.version>5.10.1</junit.version> - <log4j.version>2.22.1</log4j.version> - <lombok.version>1.18.30</lombok.version> - <servlet-api.version>4.0.1</servlet-api.version> + <jstl.version>3.0.0</jstl.version> + <junit.version>5.10.2</junit.version> + <log4j.version>2.23.1</log4j.version> + <lombok.version>1.18.34</lombok.version> + <servlet-api.version>6.0.0</servlet-api.version> <!-- Maven environment values --> <build.date>${maven.build.timestamp}</build.date> <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format> - <maven.compiler.release>8</maven.compiler.release> - <java.version>8</java.version> - <maven.compiler.source>8</maven.compiler.source> - <maven.compiler.target>8</maven.compiler.target> + <maven.compiler.release>17</maven.compiler.release> + <java.version>17</java.version> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> <!-- checkStyle --> <checkstyle.config.location>file://${basedir}/config/sun_checks.xml</checkstyle.config.location> @@ -58,8 +58,8 @@ <checkstyle.version>3.3.1</checkstyle.version> <javadoc.version>3.6.2</javadoc.version> <javase.api.link>http://docs.oracle.com/javase/8/docs/api</javase.api.link> - <pmd.version>3.21.0</pmd.version> - <spotbugs.version>4.8.1.0</spotbugs.version> + <pmd.version>3.21.2</pmd.version> + <spotbugs.version>4.8.2.0</spotbugs.version> <!-- Text format --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> @@ -67,16 +67,21 @@ </properties> <dependencies> <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> + <groupId>jakarta.servlet</groupId> + <artifactId>jakarta.servlet-api</artifactId> <version>${servlet-api.version}</version> <scope>provided</scope> </dependency> <dependency> - <groupId>javax.servlet</groupId> - <artifactId>jstl</artifactId> + <groupId>jakarta.servlet.jsp.jstl</groupId> + <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> <version>${jstl.version}</version> </dependency> + <dependency> + <groupId>org.glassfish.web</groupId> + <artifactId>jakarta.servlet.jsp.jstl</artifactId> + <version>3.0.1</version> + </dependency> <!-- Log4J --> <dependency> <groupId>org.apache.logging.log4j</groupId> @@ -110,18 +115,44 @@ </resource> </resources> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-enforcer-plugin</artifactId> + <version>3.4.1</version> + <executions> + <execution> + <id>enforce-versions</id> + <goals> + <goal>enforce</goal> + </goals> + <configuration> + <rules> + <requireJavaVersion> + <version>17</version> + </requireJavaVersion> + </rules> + <rules> + <requireMavenVersion> + <version>3.8</version> + </requireMavenVersion> + </rules> + </configuration> + </execution> + </executions> + </plugin> + <!-- Running JUnit tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> - <version>3.1.2</version> + <version>3.2.5</version> </plugin> <!-- Compute buildNumber --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> - <version>3.1.0</version> + <version>3.2.0</version> <executions> <execution> <phase>validate</phase> @@ -145,7 +176,7 @@ <plugin> <artifactId>exec-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> - <version>3.1.0</version> + <version>3.2.0</version> <executions> <execution> <phase>package</phase> @@ -236,7 +267,7 @@ <version>1.10.11</version> <configuration> <container> - <containerId>tomcat9x</containerId> + <containerId>tomcat10x</containerId> <type>${cargo.container.type}</type> <systemProperties> <java.util.logging.SimpleFormatter.format>%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$-6s %2$s %5$s%6$s%n</java.util.logging.SimpleFormatter.format> @@ -246,7 +277,7 @@ <type>${cargo.configuration.type}</type> <files> <copy> - <file>config/tomcat9x/conf/context.xml</file> + <file>config/tomcat10x/conf/context.xml</file> <tofile>conf/context.xml</tofile> <configfile>true</configfile> <overwrite>true</overwrite> @@ -265,7 +296,7 @@ <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.8.10</version> + <version>0.8.11</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> @@ -374,7 +405,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> - <version>3.3.0</version> + <version>3.3.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/src/main/java/fr/inrae/agroclim/devcas/ErrorServlet.java b/src/main/java/fr/inrae/agroclim/devcas/ErrorServlet.java index 7cd8324035bffb58735e573e0a1a829dea404778..953174d926c6ea65cacbac3f08a87a1f2161cb93 100644 --- a/src/main/java/fr/inrae/agroclim/devcas/ErrorServlet.java +++ b/src/main/java/fr/inrae/agroclim/devcas/ErrorServlet.java @@ -25,10 +25,10 @@ package fr.inrae.agroclim.devcas; import java.io.IOException; import java.util.Enumeration; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/fr/inrae/agroclim/devcas/LoginServlet.java b/src/main/java/fr/inrae/agroclim/devcas/LoginServlet.java index cf3fa64aadef6bd98e45f36f68d92d6c4d740e7d..8c10811eb84b7a1e6fd10dd1abc40d3ca12dc77f 100644 --- a/src/main/java/fr/inrae/agroclim/devcas/LoginServlet.java +++ b/src/main/java/fr/inrae/agroclim/devcas/LoginServlet.java @@ -26,11 +26,11 @@ import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/fr/inrae/agroclim/devcas/LogoutServlet.java b/src/main/java/fr/inrae/agroclim/devcas/LogoutServlet.java index 22c91c7301b2feef10f12a1294f2ecfed017d288..06b79f23c38fcbe959309bcb0facff5bc4a14658 100644 --- a/src/main/java/fr/inrae/agroclim/devcas/LogoutServlet.java +++ b/src/main/java/fr/inrae/agroclim/devcas/LogoutServlet.java @@ -24,12 +24,12 @@ package fr.inrae.agroclim.devcas; import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS1Servlet.java b/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS1Servlet.java index 1d0b78daae01de44b1ae5a009711bcbe3403a717..6b360d53fc63c6dca2a05de05df69835dc5e6ef1 100644 --- a/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS1Servlet.java +++ b/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS1Servlet.java @@ -24,11 +24,11 @@ package fr.inrae.agroclim.devcas; import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import fr.inrae.agroclim.devcas.ValidationService.Result; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS2Servlet.java b/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS2Servlet.java index 04d9c200e5c989111b323a7546195102dfbca706..3d7da823a01264e9261c87528a90360284b85ad9 100644 --- a/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS2Servlet.java +++ b/src/main/java/fr/inrae/agroclim/devcas/ValidateCAS2Servlet.java @@ -24,11 +24,11 @@ package fr.inrae.agroclim.devcas; import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import fr.inrae.agroclim.devcas.ValidationService.Result; import lombok.extern.log4j.Log4j2; diff --git a/src/main/java/fr/inrae/agroclim/devcas/ValidationService.java b/src/main/java/fr/inrae/agroclim/devcas/ValidationService.java index e7f6fb00de409e462526ff5ed4d32d887106670e..b4e08dcf837f26ba19787bc9db55062ff73b4c9b 100644 --- a/src/main/java/fr/inrae/agroclim/devcas/ValidationService.java +++ b/src/main/java/fr/inrae/agroclim/devcas/ValidationService.java @@ -28,7 +28,7 @@ import java.util.Map; import java.util.StringJoiner; import java.util.UUID; -import javax.servlet.ServletContext; +import jakarta.servlet.ServletContext; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index d2d79116e27343b3d6f5df13546a454711a5fded..03d78466a81f576431bbdd5ceed1a25bbca2d38c 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -9,12 +9,12 @@ it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/gpl-3.0.html>. @@ -23,6 +23,9 @@ <!DOCTYPE Configuration> <Configuration status="info"> + <Properties> + <Property name="logsdir">${sys:catalina.base}/logs</Property> + </Properties> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout> @@ -30,8 +33,8 @@ </PatternLayout> </Console> <!-- https://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender --> - <RollingFile name="file" fileName="logs/dev-cas.log" - filePattern="logs/$${date:yyyy-MM}/dev-cas-%d{MM-dd-yyyy}-%i.log.gz"> + <RollingFile name="file" fileName="${logsdir}/dev-cas.log" + filePattern="${logsdir}/$${date:yyyy-MM}/dev-cas-%d{MM-dd-yyyy}-%i.log.gz"> <PatternLayout> <pattern>%d | %-5p | %c#%M() | %L - %m%n</pattern> </PatternLayout> diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index af0120ec3833090e603b0849db0763a06589fd23..44a7a6b1120d7be9b22e9099219dd98e324829a3 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -9,12 +9,12 @@ it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/gpl-3.0.html>. @@ -22,10 +22,9 @@ --> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://xmlns.jcp.org/xml/ns/javaee" - xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee - http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" - version="3.1"> + xmlns="https://jakarta.ee/xml/ns/jakartaee" + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" + version="5.0"> <display-name>dev-cas - Fake CAS server for development purpose</display-name> <!-- Default page to serve -->