jqa-uber-parent
Used in: 0 components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
Overview
Description
Maven Parent POM for all projects of the jQAssistant ecosystem.
It provides common and useful settings shared by all
jQAssistant projects.
Snippets
<dependency> <groupId>com.buschmais.jqassistant</groupId> <artifactId>jqa-uber-parent</artifactId> <version>2.3.1</version> </dependency>
Maven POM File
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.buschmais.jqassistant</groupId> <artifactId>jqa-uber-parent</artifactId> <version>2.3.1</version> <packaging>pom</packaging> <name>jQAssistant Ueber Parent</name> <url>https://jqassistant.org/</url> <description> Maven Parent POM for all projects of the jQAssistant ecosystem. It provides common and useful settings shared by all jQAssistant projects. </description> <organization> <name>jQAssistant Development Team</name> <url>https://jqassistant.org</url> </organization> <licenses> <license> <name>GNU General Public License, v3</name> <url>https://www.gnu.org/licenses/gpl-3.0.html</url> </license> </licenses> <scm> <connection>scm:git:git@github.com:jqassistant/jqa-uber-parent.git</connection> <developerConnection>scm:git:git@github.com:jqassistant/jqa-uber-parent.git</developerConnection> <url>https://github.com/jqassistant/jqa-uber-parent/</url> <tag>HEAD</tag> </scm> <prerequisites> <maven>3.2</maven> </prerequisites> <distributionManagement> <snapshotRepository> <id>sonatype-nexus-snapshots</id> <name>Sonatype Nexus Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> </snapshotRepository> <repository> <id>sonatype-nexus-staging</id> <name>Nexus Release Repository</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> </distributionManagement> <developers> <developer> <id>dirk-mahler</id> <name>Dirk Mahler</name> <email>dirk.mahler@buschmais.com</email> </developer> <developer> <id>oliver.b.fischer</id> <name>Oliver B. Fischer</name> <email>o.b.fischer@swe-blog.net</email> </developer> </developers> <properties> <!-- library versions --> <assertj.version>3.22.0</assertj.version> <asm.version>9.7</asm.version> <caffeine.version>3.1.6</caffeine.version> <commons-beanutils.version>1.9.4</commons-beanutils.version> <commons-codec.version>1.15</commons-codec.version> <commons-collections.version>3.2.2</commons-collections.version> <commons-digester.version>1.8</commons-digester.version> <commons-io.version>2.16.1</commons-io.version> <commons-lang.version>2.6</commons-lang.version> <commons-lang3.version>3.14.0</commons-lang3.version> <commons-text.version>1.12.0</commons-text.version> <guava.version>32.0.1-jre</guava.version> <guice.version>7.0.0</guice.version> <hamcrest.version>2.0.0.0</hamcrest.version> <httpcore.version>4.4.16</httpcore.version> <jackson.version>2.15.0</jackson.version> <jaxb-api.version>2.4.0-b180830.0359</jaxb-api.version> <jaxb-runtime.version>2.4.0-b180830.0438</jaxb-runtime.version> <jakarta.annotation-api.version>2.1.1</jakarta.annotation-api.version> <javax.annotation-api.version>1.3.2</javax.annotation-api.version> <json-schema-validator.version>1.0.36</json-schema-validator.version> <junit.version>5.9.1</junit.version> <junit-pioneer.version>2.2.0</junit-pioneer.version> <lombok.version>1.18.32</lombok.version> <mapstruct.version>1.5.5.Final</mapstruct.version> <mockito.version>2.23.4</mockito.version> <neo4j_4x.version>4.4.34</neo4j_4x.version> <neo4j_4x_apoc.version>4.4.0.26</neo4j_4x_apoc.version> <neo4j_5x.version>5.21.0</neo4j_5x.version> <neo4j_5x_apoc.version>5.21.0</neo4j_5x_apoc.version> <!-- The actual Neo4j version is set using the neo4jv4/neo4jv5 profiles This default setting is required by Jenkins for parsing the Maven model --> <neo4j.version>${neo4j_4x.version}</neo4j.version> <neo4j.neo4j-java-driver.version>4.4.17</neo4j.neo4j-java-driver.version> <neo4j-browser.version>5.21.0</neo4j-browser.version> <slf4j.version>1.7.36</slf4j.version> <smallrye-config.version>3.8.2</smallrye-config.version> <maven-resolver.version>1.9.20</maven-resolver.version> <snakeyaml.version>2.0</snakeyaml.version> <snakeyaml-engine.version>2.3</snakeyaml-engine.version> <validation-api.version>2.0.1.Final</validation-api.version> <xo.version>2.2.7</xo.version> <!-- Maven plugin versions --> <doxia-markdown.version>1.9</doxia-markdown.version> <lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version> <maven.ant.version>3.1.0</maven.ant.version> <maven.assembly.version>3.3.0</maven.assembly.version> <maven.buildhelper.version>3.2.0</maven.buildhelper.version> <maven.checkstyle.version>3.1.0</maven.checkstyle.version> <maven.owasp-dependency-check.version>9.0.8</maven.owasp-dependency-check.version> <maven.cyclonedx.version>2.8.0</maven.cyclonedx.version> <maven.clean.version>3.1.0</maven.clean.version> <maven.compiler.version>3.10.1</maven.compiler.version> <maven.dependency.version>3.3.0</maven.dependency.version> <maven.deploy.version>3.1.1</maven.deploy.version> <maven.enforcer.version>3.0.0</maven.enforcer.version> <maven.failsafe.version>3.2.3</maven.failsafe.version> <maven.install.version>3.1.1</maven.install.version> <maven.jar.version>3.2.2</maven.jar.version> <maven.javadoc.version>3.4.0</maven.javadoc.version> <maven.jaxb2-plugin.version>0.15.1</maven.jaxb2-plugin.version> <!-- ! The current version of jQAssistant is always scanned by the ! previous version of jQAssistant. ! Oliver B. Fischer, 2015-11-27 !--> <maven.jqassistant.previous.version>2.3.0</maven.jqassistant.previous.version> <maven.resources.version>3.3.0</maven.resources.version> <maven.shade.version>3.1.1</maven.shade.version> <maven.site.version>3.4</maven.site.version> <maven.source.plugin>3.2.1</maven.source.plugin> <maven.surefire.version>${maven.failsafe.version}</maven.surefire.version> <maven.xml.version>1.0.2</maven.xml.version> <maven.invoker.version>3.2.2</maven.invoker.version> <org.asciidoctor-plugin.version>2.2.4</org.asciidoctor-plugin.version> <!-- Maven config --> <maven.min.version>3.5.0</maven.min.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- integration tests --> <it.jqassistant.store.uri>memory:///</it.jqassistant.store.uri> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>${org.asciidoctor-plugin.version}</version> </plugin> <plugin> <groupId>com.buschmais.jqassistant</groupId> <artifactId>jqassistant-maven-plugin</artifactId> <version>${maven.jqassistant.previous.version}</version> <executions> <execution> <id>default</id> <goals> <goal>scan</goal> <goal>analyze</goal> </goals> </execution> </executions> <configuration> <yaml> jqassistant: scan: include: files: - ${project.basedir}/readme.adoc - ${project.basedir}/src/main/asciidoc - ${project.basedir}/.editorconfig - ${project.basedir}/LICENSE properties: xml.file.include: /META-INF/jqassistant-plugin.xml analyze: groups: - jqa-* </yaml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${maven.ant.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven.checkstyle.version}</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <sourceDirectories> <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> </sourceDirectories> <includeTestSourceDirectory>true</includeTestSourceDirectory> <testSourceDirectories> <testSourceDirectory>${project.build.testSourceDirectory}</testSourceDirectory> </testSourceDirectories> <logViolationsToConsole>true</logViolationsToConsole> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${maven.clean.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${maven.failsafe.version}</version> <configuration> <systemPropertyVariables> <!-- default store to use for Integration tests --> <jqassistant.store.uri>${it.jqassistant.store.uri}</jqassistant.store.uri> </systemPropertyVariables> <!-- for JUnit Pioneer and Neo4j 4.x --> <argLine> --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED </argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven.surefire.version}</version> <configuration> <systemPropertyVariables> <!-- default store to use for Integration tests --> <jqassistant.store.uri>${it.jqassistant.store.uri}</jqassistant.store.uri> </systemPropertyVariables> <!-- for JUnit Pioneer and Neo4j 4.x --> <argLine> --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED </argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-invoker-plugin</artifactId> <version>${maven.invoker.version}</version> <configuration> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> <localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath> <mergeUserSettings>false</mergeUserSettings> <properties> <maven.compiler.release>11</maven.compiler.release> </properties> <goals> <goal>verify -e</goal> </goals> <streamLogs>true</streamLogs> <postBuildHookScript>verify</postBuildHookScript> <writeJunitReport>true</writeJunitReport> </configuration> <executions> <execution> <id>integration-test</id> <goals> <goal>install</goal> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven.assembly.version}</version> </plugin> <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <version>${lombok-maven-plugin.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>delombok</goal> </goals> <configuration> <skip>true</skip> <addOutputDirectory>false</addOutputDirectory> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.version}</version> <configuration> <encoding>UTF-8</encoding> <release>11</release> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>0.2.0</version> </dependency> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> </path> </annotationProcessorPaths> <compilerArgs> <arg>-Amapstruct.unmappedTargetPolicy=ERROR</arg> <arg>-Amapstruct.unmappedSourcePolicy=ERROR</arg> </compilerArgs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven.javadoc.version}</version> <configuration> <encoding>UTF-8</encoding> <detectJavaApiLink>false</detectJavaApiLink> <doclint>none</doclint> <sourcepath>${project.basedir}/src/main/java;${project.build.directory}/generated-sources/delombok;${project.build.directory}/generated-sources/xjc</sourcepath> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${maven.install.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${maven.jar.version}</version> </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>${maven.jaxb2-plugin.version}</version> <executions> <execution> <goals> <goal>generate</goal> </goals> <configuration> <schemaDirectory>src/main/resources/META-INF/xsd</schemaDirectory> <!-- Provide namespace in each generated class to avoid problems loading this information from package-info.java on Java 11 and newer --> <packageLevelAnnotations>false</packageLevelAnnotations> <args> <arg>-mark-generated</arg> <arg>-Xdefault-value</arg> <arg>-Xno-comment</arg> </args> <plugins> <plugin> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-default-value</artifactId> <version>1.1</version> </plugin> <!-- ! This is a custom plugin which suppresses the generation ! of JavaDoc descriptions. We this as our JavaDoc is written ! in Asciidoctor and the JAXB 2 plugin generated the standard ! JavaDoc descriptions. ! Oliver B. Fischer, 2016-12-26 !--> <plugin> <groupId>com.buschmais.x2j.nocomment</groupId> <artifactId>nocomment-plugin</artifactId> <version>0.1</version> </plugin> </plugins> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven.shade.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${maven.dependency.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${maven.deploy.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${maven.enforcer.version}</version> <executions> <execution> <id>enforce-plugin-versions</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>[${maven.min.version},)</version> </requireMavenVersion> <requireSameVersions> <plugins> <plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin> <plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin> <plugin>org.apache.maven.plugins:maven-surefire-report-plugin</plugin> </plugins> </requireSameVersions> <requirePluginVersions> <message>Best Practice is to always define plugin versions!</message> <banLatest>true</banLatest> <banRelease>true</banRelease> <banSnapshots>true</banSnapshots> <phases>clean,deploy,site</phases> </requirePluginVersions> </rules> </configuration> </execution> <execution> <id>enforce-java-version</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireJavaVersion> <version>[17,)</version> </requireJavaVersion> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven.resources.version}</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${maven.site.version}</version> <dependencies> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-module-markdown</artifactId> <version>${doxia-markdown.version}</version> </dependency> <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>${org.asciidoctor-plugin.version}</version> </dependency> </dependencies> <configuration> <skipDeploy>true</skipDeploy> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven.source.plugin}</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${maven.buildhelper.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <version>${maven.xml.version}</version> </plugin> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> <version>${maven.cyclonedx.version}</version> <executions> <execution> <phase>package</phase> <goals> <goal>makeAggregateBom</goal> </goals> <configuration> <includeCompileScope>true</includeCompileScope> <includeProvidedScope>false</includeProvidedScope> <includeRuntimeScope>true</includeRuntimeScope> <includeSystemScope>true</includeSystemScope> <includeTestScope>false</includeTestScope> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${maven.owasp-dependency-check.version}</version> <configuration> <skipSystemScope>true</skipSystemScope> <skipTestScope>true</skipTestScope> <!-- <failBuildOnCVSS>7</failBuildOnCVSS> --> <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled> <formats> <format>CSV</format> <format>XML</format> <format>HTML</format> </formats> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> </plugins> </build> <profiles> <profile> <id>neo4jv4</id> <activation> <jdk>11</jdk> </activation> <properties> <neo4j.version>${neo4j_4x.version}</neo4j.version> </properties> </profile> <profile> <id>neo4jv5</id> <activation> <jdk>[17,)</jdk> </activation> <properties> <neo4j.version>${neo4j_5x.version}</neo4j.version> </properties> </profile> <profile> <id>IT</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>it-store-remote</id> <properties> <it.jqassistant.store.uri>neo4j://localhost:7687</it.jqassistant.store.uri> </properties> </profile> <profile> <id>it-store-file</id> <properties> <it.jqassistant.store.uri>file:${project.build.directory}/jqassistant/test-store</it.jqassistant.store.uri> </properties> </profile> <profile> <id>owasp</id> <build> <plugins> <plugin> <groupId>org.owasp</groupId> <artifactId>dependency-check-maven</artifactId> <version>${maven.owasp-dependency-check.version}</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <!-- ! This profile is automatically activated by using maven-release-plugin:perfom. ! So this mean signing of artifacts is only done in case of running a release. !--> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-release-versions</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireReleaseDeps/> <requireReleaseVersion/> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>IntelliJ</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>idea.maven.embedder.version</name> </property> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin> </plugins> </build> </profile> </profiles> </project>