cbioportal
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.cbioportal</groupId>
<artifactId>cbioportal</artifactId>
<version>v7.0.5</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.6</version>
</parent>
<groupId>io.github.cbioportal</groupId>
<artifactId>cbioportal</artifactId>
<version>v7.0.5</version>
<packaging>jar</packaging>
<description>cBioPortal for Cancer Genomics</description>
<properties>
<m2e.apt.activation>jdt_apt</m2e.apt.activation>
<!-- <maven.compiler.release>21</maven.compiler.release>-->
<sonar.java.source>21</sonar.java.source>
<java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
<timestamp>${maven.build.timestamp}</timestamp>
<!-- TODO replace with version of cbioportal frontend with compatible login url-->
<frontend.groupId>io.github.cbioportal</frontend.groupId>
<frontend.artifactId>frontend-cbioportal</frontend.artifactId>
<frontend.version>v7.0.5</frontend.version>
<!-- THIS SHOULD BE KEPT IN SYNC TO VERSION IN CGDS.SQL -->
<db.version>2.14.5</db.version>
<derived_table.version>1.0.11</derived_table.version>
<!-- Version properties for dependencies that should have same version. -->
<!-- The rest can be set in the dependencyManagement section -->
<spring.social.version>1.1.6.RELEASE</spring.social.version>
<jackson.version>2.12.5</jackson.version>
<mysql-connector.version>8.0.28</mysql-connector.version>
<mysql.version>8.2.0</mysql.version>
<springfox.version>3.0.0</springfox.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Sonar -->
<sonar.projectKey>cBioPortal_cbioportal</sonar.projectKey>
<sonar.moduleKey>${project.groupId}:${project.artifactId}</sonar.moduleKey>
<sonar.organization>cbioportal</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.coverage.exclusions>**src/test/**/*.*</sonar.coverage.exclusions>
<!-- JaCoCo Properties -->
<jacoco.version>0.8.11</jacoco.version>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.language>java</sonar.language>
<sonar.coverage.jacoco.xmlReportPaths>
${project.basedir}/target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<db.test.driver>com.mysql.jdbc.Driver</db.test.driver>
<!-- For MySQL < 5.5 change 'default_storage_engine' to 'storage_engine' -->
<db.test.url>
jdbc:mysql://127.0.0.1:3306/cgds_test?sessionVariables=default_storage_engine=InnoDB&allowLoadLocalInfile=true</db.test.url>
<db.test.username>cbio_user</db.test.username>
<db.test.password>somepassword</db.test.password>
<!--For
tomcat instances, the scope to tomcat catalina lib should be provided. this prop is used in
portal module.-->
<tomcat.catalina.scope>provided</tomcat.catalina.scope>
<tomcat.session.timeout>720</tomcat.session.timeout>
<!-- Unknown -->
<io.swagger.version>1.6.3</io.swagger.version>
<mybatis.starter.version>3.0.4</mybatis.starter.version>
<testcontainers.version>1.21.4</testcontainers.version>
<opensaml.version>4.1.1</opensaml.version>
<!-- Third Party -->
<redisson.version>3.22.0</redisson.version>
<commons-math3.version>3.6.1</commons-math3.version>
<springdoc.version>2.8.3</springdoc.version>
<apache-commons-collections.version>4.4</apache-commons-collections.version>
<io-jsonwebtoken.version>0.11.2</io-jsonwebtoken.version>
<mongodb_bson.version>4.11.0</mongodb_bson.version>
<google_guava.version>32.1.3-jre</google_guava.version>
<commons_codec.version>1.16.0</commons_codec.version>
<commons_validator.version>1.10.0</commons_validator.version>
<simple_java_bitly.version>1.1</simple_java_bitly.version>
<ehcache.version>3.7.1</ehcache.version>
<json_simple.version>1.1.1</json_simple.version>
<mongo_java_driver.version>3.12.14</mongo_java_driver.version>
<datumbox.version>0.8.2</datumbox.version>
<selenium_chrome_driver.version>3.14.0</selenium_chrome_driver.version>
<selenium.version>4.31.0</selenium.version>
<sentry.version>7.1.0</sentry.version>
<clickhouse_testcontainer.version>1.19.7</clickhouse_testcontainer.version>
<bouncy_castle.version>1.78</bouncy_castle.version>
<mapstruct.version>1.6.3</mapstruct.version>
<tomcat.version>10.1.45</tomcat.version>
<velocity.version>2.4</velocity.version>
<!-- No sure what these are for -->
<bundle.symbolicName.prefix>org.mskcc</bundle.symbolicName.prefix>
<bundle.namespace>org.mskcc.mondrian</bundle.namespace>
<!-- Maven Central -->
<mavenCentralDeploymentName>Deployment</mavenCentralDeploymentName>
<skipIntegrationTests>true</skipIntegrationTests>
<skipE2ETests>True</skipE2ETests>
</properties>
<!-- Maven Central Requirements -->
<name>${project.groupId}:${project.artifactId}</name>
<url>https://www.cbioportal.org</url>
<licenses>
<license>
<name>GNU AFFERO GENERAL PUBLIC LICENSE v3.0</name>
<url>https://www.gnu.org/licenses/agpl-3.0.html</url>
</license>
</licenses>
<developers>
<developer>
<name>Zain Nasir</name>
<email>nasirz1@mskcc.org</email>
<organization>Memorial Sloan Kettering Cancer Center</organization>
<organizationUrl>https://www.mskcc.org/</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/cBioPortal/cbioportal.git</connection>
<developerConnection>scm:git:ssh://github.com:cBioPortal/cbioportal.git</developerConnection>
<url>https://github.com/cBioPortal/cbioportal/tree/master</url>
</scm>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>1.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<version>1.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.starter.version}</version>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>${redisson.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>${commons-math3.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${apache-commons-collections.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
<version>${io-jsonwebtoken.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>${io-jsonwebtoken.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>${io-jsonwebtoken.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${google_guava.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons_codec.version}</version>
</dependency>
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>${commons_validator.version}</version>
</dependency>
<dependency>
<groupId>com.github.romain-warnan</groupId>
<artifactId>simple-java-bitly</artifactId>
<version>${simple_java_bitly.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>${ehcache.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>${json_simple.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>com.datumbox</groupId>
<artifactId>datumbox-framework-lib</artifactId>
<version>${datumbox.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
<version>1.1.1.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>jwks-rsa</artifactId>
<version>0.22.1</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>selenium</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-saml2-service-provider</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-spring-boot-starter-jakarta</artifactId>
<version>${sentry.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.6.2</version>
<!-- use uber jar with all dependencies included, change classifier
to http for smaller jar -->
<classifier>all</classifier>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>clickhouse</artifactId>
<version>${clickhouse_testcontainer.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-test-autoconfigure</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<!-- Add OSGi dependency needed because compile time of org.ehcache -->
<!-- ehcache should be removed -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
<version>1.5.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncy_castle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bouncy_castle.version}</version>
</dependency>
<!-- set newer versions of velocity to prevent pulling in old commons-io version that has vulnerabilities -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>cbioportal</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-wrapper-plugin</artifactId>
<version>3.2.0</version>
</plugin>
</plugins>
</pluginManagement>
<filters>
<filter>src/main/resources/application.properties</filter>
<filter>src/main/resources/maven.properties</filter>
</filters>
<resources>
<!-- copy over resources directory into classpath of product -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>artwork/**</exclude>
<exclude>content/**</exclude>
<exclude>tutorials/**</exclude>
<exclude>webapp/**</exclude>
<exclude>templates/**</exclude>
<exclude>*.pdf</exclude>
<exclude>db-scripts/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>webapp/**</include>
<include>templates/**</include>
</includes>
</resource>
<!-- copy over database schema and migration logic into classpath of
product -->
<resource>
<directory>src/main/resources/db-scripts</directory>
<targetPath>db-scripts</targetPath>
<filtering>false</filtering>
<includes>
<include>cgds.sql</include>
<include>migration.sql</include>
<include>clickhouse/clickhouse.sql</include>
<include>clickhouse/materialized_views.sql</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/main/resources/db-scripts</directory>
<filtering>false</filtering>
<includes>
<include>clickhouse/materialized_views.sql</include>
</includes>
</testResource>
<testResource>
<directory>src/test/resources</directory>
<filtering>false</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<release>21</release>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>repackage</id>
<configuration>
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
<!-- write git version properties file (git.properties) -->
<plugin>
<groupId>io.github.git-commit-id</groupId>
<artifactId>git-commit-id-maven-plugin</artifactId>
<version>5.0.0</version>
<executions>
<execution>
<id>get-the-git-infos</id>
<phase>initialize</phase>
<goals>
<goal>revision</goal>
</goals>
</execution>
<execution>
<id>validate-the-git-infos</id>
<phase>package</phase>
<goals>
<goal>validateRevision</goal>
</goals>
</execution>
</executions>
<configuration>
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<generateGitPropertiesFilename>
${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
<commitIdGenerationMode>full</commitIdGenerationMode>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${frontend.groupId}</groupId>
<artifactId>${frontend.artifactId}</artifactId>
<version>${frontend.version}</version>
<type>jar</type>
<outputDirectory>
${project.build.directory}/classes</outputDirectory>
<excludes>*index*</excludes>
<overWrite>true</overWrite>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-wrapper-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
<configuration>
<formats>
<format>XML</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
<!-- config for unit and integration tests -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<id>add-integration-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/integration/java</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-integration-test-resource</id>
<phase>generate-test-resources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/integration/resources</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>add-e2e-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/e2e/java</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-e2e-test-resource</id>
<phase>generate-test-resources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/e2e/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>${skipTests}</skipTests>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
<exclude>**/*E2ETest.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>integration-test</id>
<configuration>
<!-- Skip clickhouse integration tests for now -->
<skipTests>true</skipTests>
<includes>
<include>**/*IntegrationTest.java</include>
</includes>
</configuration>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
<execution>
<id>e2e-test</id>
<configuration>
<skipTests>${skipE2ETests}</skipTests>
<includes>
<include>**/*E2ETest.java</include>
</includes>
</configuration>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Configuration for code formatting -->
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>2.44.3</version>
<configuration>
<java>
<includes>
<include>src/main/java/**/*.java</include> <!-- Check application code -->
<include>src/test/java/**/*.java</include> <!-- Check application tests code -->
</includes>
<googleJavaFormat>
<version>1.25.2</version>
<style>GOOGLE</style>
</googleJavaFormat>
<importOrder /> <!-- standard import order -->
<removeUnusedImports /> <!-- self-explanatory -->
</java>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
<goal>apply</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Setup spotless formatter pre-commit hoot -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- Run the shell script to modify the pre-commit hook -->
<exec executable="bash">
<arg value="${project.basedir}/.githooks/spotless_pre_commit_hook.sh" />
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>org.umlgraph</groupId>
<artifactId>umlgraph</artifactId>
<version>5.6</version>
</docletArtifact>
<additionalparam>-views -all</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
</plugins>
</reporting>
<pluginRepositories>
<pluginRepository>
<id>maven-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
</pluginRepository>
<pluginRepository>
<id>maven-shade-plugin</id>
<url>
https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-shade-plugin</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<!-- needed for the opensaml dependency -->
<repository>
<id>shiboleth</id>
<url>
https://build.shibboleth.net/nexus/content/repositories/releases/</url>
</repository>
<!-- needed for keycloak test containers -->
<repository>
<id>maven-central</id>
<url>https://repo1.maven.org/maven2/</url>
</repository>
</repositories>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<skipTests>false</skipTests>
<!-- skipITs is an official Maven param; do not rename-->
<skipITs>true</skipITs>
</properties>
</profile>
<profile>
<id>integration-test</id>
<properties>
<skipTests>true</skipTests>
<!-- skipITs is an official Maven param; do not rename-->
<skipIntegrationTests>false</skipIntegrationTests>
<skipE2ETests>false</skipE2ETests>
</properties>
</profile>
<profile>
<id>e2e-test</id>
<properties>
<skipTests>true</skipTests>
<!-- skipITs is an official Maven param; do not rename-->
<skipIntegrationTests>true</skipIntegrationTests>
<skipE2ETests>false</skipE2ETests>
</properties>
</profile>
<!-- Maven Central -->
<profile>
<id>maven-central</id>
<activation>
<property>
<name>mavenCentral</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.7.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
<deploymentName>${mavenCentralDeploymentName}</deploymentName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.3</version>
<executions>
<execution>
<id>attach-javadoc</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<stylesheet>java</stylesheet>
<doclint>none</doclint>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>