<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>fr.gouv.vitamui</groupId> <artifactId>cas</artifactId> <version>4.5.0-SNAPSHOT</version> </parent> <artifactId>cas-server</artifactId> <packaging>war</packaging> <name>VITAMUI CAS Server</name> <properties> <assertj-core.version>3.11.1</assertj-core.version> <jackson.version>2.10.0</jackson.version> <lombok.version>1.18.10</lombok.version> <micrometer.version>1.3.0</micrometer.version> <mockito.version>1.10.19</mockito.version> <spring.boot.version>2.2.0.RELEASE</spring.boot.version> <spring.cloud.consul.version>2.2.2.RELEASE</spring.cloud.consul.version> <spring.security.version>5.2.0.RELEASE</spring.security.version> <spring.test.version>5.2.0.RELEASE</spring.test.version> <spring.version>5.2.0.RELEASE</spring.version> <swagger.version>1.5.18</swagger.version> <thymeleaf-spring5.version>3.0.11.RELEASE</thymeleaf-spring5.version> <rpm.skip>false</rpm.skip> <rpm.jar-file>${project.build.finalName}.war</rpm.jar-file> </properties> <dependencies> <!-- VITAMUI --> <dependency> <groupId>fr.gouv.vitamui</groupId> <artifactId>iam-external-client</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </exclusion> <exclusion> <groupId>org.apache.components</groupId> <artifactId>httpclient</artifactId> </exclusion> <exclusion> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> </exclusion> </exclusions> </dependency> <!-- Consul --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> <version>${spring.cloud.consul.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-commons</artifactId> <version>${spring.cloud.consul.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> <version>${spring.cloud.consul.version}</version> </dependency> <!-- CAS server --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-webapp-tomcat</artifactId> <version>${cas.version}</version> <type>war</type> <scope>runtime</scope> </dependency> <!-- services registry --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-mongo-service-registry</artifactId> <version>${cas.version}</version> <exclusions> <exclusion> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> </exclusion> </exclusions> </dependency> <!-- authentication delegation --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-authentication</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-pac4j-webflow</artifactId> <version>${cas.version}</version> <exclusions> <exclusion> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-pac4j-core</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-pac4j-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-pac4j-core-clients</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-web</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-util</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.pac4j</groupId> <artifactId>pac4j-core</artifactId> <version>${pac4j.version}</version> </dependency> <dependency> <groupId>org.pac4j</groupId> <artifactId>spring-webmvc-pac4j</artifactId> <version>${pac4j.version}</version> </dependency> <dependency> <groupId>org.pac4j</groupId> <artifactId>pac4j-saml-opensamlv3</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <!-- tickets registry --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-hazelcast-ticket-registry</artifactId> <version>${cas.version}</version> </dependency> <!-- subrogation --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-surrogate-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-surrogate-authentication</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-surrogate-webflow</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-services-api</artifactId> <version>${cas.version}</version> </dependency> <!-- password management --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-pm-webflow</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-pm-core</artifactId> <version>${cas.version}</version> </dependency> <!-- multi-factor authentication --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-simple-mfa</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-simple-mfa-core</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-authentication-mfa</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-webflow-mfa-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-sms-twilio</artifactId> <version>${cas.version}</version> </dependency> <!-- throttling --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-throttle</artifactId> <version>${cas.version}</version> </dependency> <!-- others --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-cookie-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-web-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-authentication-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-actions</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-webapp-init</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-tickets</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-services-authentication</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-core-webflow-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-saml-core</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>io.opentracing.contrib</groupId> <artifactId>opentracing-spring-jaeger-web-starter</artifactId> </dependency> <!-- OAuth support --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oauth-webflow</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oauth</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oauth-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oauth-core</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-token-core-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oauth-core-api</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oauth-services</artifactId> <version>${cas.version}</version> </dependency> <!-- metrics --> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-metrics</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>${micrometer.version}</version> </dependency> <!-- logs --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <!-- UTIL --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId> <version>${thymeleaf-spring5.version}</version> </dependency> <!-- TEST --> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.test.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj-core.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <excludes> <exclude>*.ico</exclude> </excludes> </resource> </resources> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <warName>${project.artifactId}</warName> <failOnMissingWebXml>false</failOnMissingWebXml> <recompressZippedFiles>false</recompressZippedFiles> <archive> <compress>false</compress> <manifestFile> ${project.build.directory}/war/work/org.apereo.cas/cas-server-webapp-tomcat/META-INF/MANIFEST.MF </manifestFile> </archive> <overlays> <overlay> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-webapp-tomcat</artifactId> <excludes> <exclude>WEB-INF/classes/services/*.json</exclude> <exclude>WEB-INF/lib/log4j-api-*.jar</exclude> <exclude>WEB-INF/lib/log4j-jul-*.jar</exclude> <exclude>WEB-INF/lib/log4j-core-*.jar</exclude> <exclude>WEB-INF/lib/log4j-jcl-*.jar</exclude> <exclude>WEB-INF/lib/log4j-web-*.jar</exclude> <exclude>WEB-INF/lib/log4j-slf4j-impl-*.jar</exclude> <exclude>WEB-INF/lib/log4j-slf4j18-impl-*.jar</exclude> <exclude>WEB-INF/lib/spring-boot-starter-log4j2-*.jar</exclude> <exclude>WEB-INF/lib/slf4j-api-1.8.0-beta4.jar</exclude> <exclude>WEB-INF/lib/jcl-over-slf4j-1.8.0-beta4.jar</exclude> <exclude>WEB-INF/lib/jul-to-slf4j-1.8.0-beta4.jar</exclude> <exclude>WEB-INF/lib/jackson-core-2.8.10.jar</exclude> <exclude>WEB-INF/lib/jackson-databind-2.8.10.jar</exclude> <exclude>WEB-INF/lib/jackson-dataformat-yaml-2.8.10.jar</exclude> </excludes> </overlay> </overlays> <packagingExcludes> WEB-INF/lib/log4j-api-*.jar, WEB-INF/lib/log4j-jul-*.jar, WEB-INF/lib/log4j-core-*.jar, WEB-INF/lib/log4j-jcl-*.jar, WEB-INF/lib/log4j-web-*.jar, WEB-INF/lib/log4j-slf4j-impl-*.jar, WEB-INF/lib/log4j-slf4j18-impl-*.jar, WEB-INF/lib/spring-boot-starter-log4j2-*.jar, WEB-INF/lib/slf4j-api-1.8.0-beta4.jar, WEB-INF/lib/jcl-over-slf4j-1.8.0-beta4.jar, WEB-INF/lib/jul-to-slf4j-1.8.0-beta4.jar, WEB-INF/lib/jackson-core-2.8.10.jar, WEB-INF/lib/jackson-databind-2.8.10.jar, WEB-INF/lib/jackson-dataformat-yaml-2.8.10.jar </packagingExcludes> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>org.apereo.cas.web.CasWebApplication</mainClass> <arguments> <argument>--spring.config.additional-location=file:${basedir}/src/main/config/cas-server-application-dev.yml</argument> </arguments> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.github.warmuuh</groupId> <artifactId>libsass-maven-plugin</artifactId> <version>0.2.10-libsass_3.5.3</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> <configuration> <inputPath>${project.basedir}/src/main/config/sass</inputPath> <outputPath>${project.basedir}/src/main/resources/static/css</outputPath> <generateSourceMap>true</generateSourceMap> <outputStyle/> </configuration> </plugin> </plugins> </build> </project>