parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.github.veithen</groupId> <artifactId>parent</artifactId> <version>37</version> </dependency>
<?xml version="1.0"?> <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.github.veithen</groupId> <artifactId>parent</artifactId> <version>37</version> <packaging>pom</packaging> <name>com.github.veithen parent POM</name> <description>Parent POM for com.github.veithen</description> <url>https://github.com/veithen/parent</url> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> <developers> <developer> <name>Andreas Veithen</name> <email>andreas.veithen@gmail.com</email> </developer> </developers> <scm> <url>https://github.com/veithen/parent/tree/master</url> <connection>scm:git:http://github.com/veithen/parent.git</connection> <developerConnection>scm:git:https://github.com/veithen/parent.git</developerConnection> <tag>37</tag> </scm> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <properties> <github.repository>parent</github.repository> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.scm.id>github</project.scm.id> <javaVersion>1.8</javaVersion> <jacoco.version>0.8.7</jacoco.version> <errorprone.version>2.10.0</errorprone.version> <groovy.version>3.0.9</groovy.version> <maven-plugin-tools.version>3.6.1</maven-plugin-tools.version> <skipDeploy>false</skipDeploy> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.agent</artifactId> <version>${jacoco.version}</version> <classifier>runtime</classifier> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${errorprone.version}</version> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>javac</artifactId> <version>9+181-r4173-1</version> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> <version>${maven-plugin-tools.version}</version> </dependency> </dependencies> </dependencyManagement> <repositories> <repository> <id>sonatype-snapshots</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>sonatype-snapshots</id> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> </pluginRepository> </pluginRepositories> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.9.0</version> <configuration> <source>${javaVersion}</source> <target>${javaVersion}</target> <release>${javaRelease}</release> <compilerArgs combine.children="append"> <compilerArg>-XDcompilePolicy=simple</compilerArg> <compilerArg>-Xplugin:ErrorProne -XepExcludedPaths:.*/target/.*</compilerArg> </compilerArgs> <annotationProcessorPaths combine.children="append"> <annotationProcessorPath> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_core</artifactId> <version>${errorprone.version}</version> </annotationProcessorPath> </annotationProcessorPaths> </configuration> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.10.0</version> </plugin> <plugin> <artifactId>maven-invoker-plugin</artifactId> <version>3.2.2</version> <configuration> <cloneProjectsTo>${project.build.directory}/its</cloneProjectsTo> <!-- Travis executes the build with -DskipTests=true first. --> <skipInstallation>${skipTests}</skipInstallation> <skipInvocation>${skipTests}</skipInvocation> <!-- Enable the JaCoCo agent. This works because multiple JaCoCo sessions can be written to the same jacoco.exec file. --> <mavenOpts>${argLine}</mavenOpts> </configuration> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> <configuration> <trimStackTrace>false</trimStackTrace> </configuration> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>2.22.2</version> <configuration> <trimStackTrace>false</trimStackTrace> </configuration> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>${maven-plugin-tools.version}</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>3.3.1</version> <configuration> <source>${javaVersion}</source> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <groupId>com.github.veithen.maven</groupId> <artifactId>resolver-proxy-maven-plugin</artifactId> <version>0.2.0</version> </plugin> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <versionRange>[0.0.0,)</versionRange> <goals> <goal>execute</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <versionRange>[0.0.0,)</versionRange> <goals> <goal>descriptor</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>2.0.0</version> <configuration> <organizationName>Andreas Veithen</organizationName> <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage> <trimHeaderLine>true</trimHeaderLine> <canUpdateCopyright>true</canUpdateCopyright> <canUpdateDescription>true</canUpdateDescription> <roots> <root>${project.basedir}</root> </roots> <includes> <include>pom.xml</include> <include>src/**</include> </includes> <extraExtensions> <bsh>java</bsh> <md>xml</md> <mdo>xml</mdo> </extraExtensions> </configuration> <executions> <execution> <phase>verify</phase> <goals> <goal>check-file-header</goal> </goals> <configuration> <failOnMissingHeader>true</failOnMissingHeader> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tidy-maven-plugin</artifactId> <version>1.1.0</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.gmavenplus</groupId> <artifactId>gmavenplus-plugin</artifactId> <version>1.13.1</version> <executions> <execution> <id>initialize</id> <phase>initialize</phase> <goals> <goal>execute</goal> </goals> <configuration> <scripts> <script><![CDATA[ if (project.groupId == 'com.github.veithen' && project.artifactId == 'parent') { project.properties['license.skipCheckLicense'] = 'true' project.properties['license.inceptionYear'] = '0' } else { assert project.version ==~ /\d+\.\d+\.\d+(-SNAPSHOT)?/ : 'Invalid project version' } repository = project.properties['github.repository'] if (project.groupId != 'com.github.veithen' && repository == 'parent') { throw new Error('github.repository not set') } // We only care about the completeness of the Maven metadata if we actually deploy the artifact. if (project.properties['skipDeploy'] == 'false') { if (project.url.startsWith('https://github.com/') && project.url != "https://github.com/veithen/${repository}") { throw new Error('project.url not set correctly') } if (!project.scm.url.startsWith("https://github.com/veithen/${repository}/tree/master")) { throw new Error('project.scm.url not set correctly') } if (project.scm.connection != "scm:git:http://github.com/veithen/${repository}.git") { throw new Error('project.scm.connection not set correctly') } if (project.scm.developerConnection != "scm:git:https://github.com/veithen/${repository}.git") { throw new Error('project.scm.developerConnection not set correctly') } } javaVersion = project.properties['javaVersion'] if (javaVersion == '1.8') { project.properties['javaRelease'] = '8' } else { project.properties['javaRelease'] = javaVersion } ]]></script> </scripts> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>${groovy.version}</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-ant</artifactId> <version>${groovy.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>com.github.veithen.phos</groupId> <artifactId>enforcer-maven-plugin</artifactId> <version>0.3.0</version> <executions> <execution> <goals> <goal>enforce</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>3.6.0</version> </requireMavenVersion> <enforceBytecodeVersion> <maxJdkVersion>${javaVersion}</maxJdkVersion> <ignoredScopes> <ignoredScope>test</ignoredScope> </ignoredScopes> <!-- Prevent the enforcer from rejecting ASM 6.0 --> <ignoreClasses> <ignoreClass>module-info</ignoreClass> </ignoreClasses> </enforceBytecodeVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> <version>1.5.1</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.github.veithen.maven</groupId> <artifactId>hermetic-maven-plugin</artifactId> <version>0.6.2</version> <executions> <execution> <goals> <goal>generate-policy</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> <executions> <execution> <id>prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> </execution> </executions> <configuration> <includes> <include>${project.groupId}.*</include> </includes> </configuration> </plugin> <plugin> <groupId>com.github.veithen.maven</groupId> <artifactId>jacoco-report-maven-plugin</artifactId> <version>0.3.1</version> <executions> <execution> <goals> <goal>process</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <!-- Disable the default deploy execution --> <executions> <execution> <id>default-deploy</id> <phase>none</phase> <goals> <goal>deploy</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.6.8</version> <executions> <execution> <id>deploy</id> <phase>deploy</phase> <goals> <goal>deploy</goal> </goals> <configuration> <skipNexusStagingDeployMojo>${skipDeploy}</skipNexusStagingDeployMojo> <!-- By default, the remote staging is done in the last execution of the deploy goal in the reactor. However, if skipNexusStagingDeployMojo=true for that execution, then that would be skipped as well. To avoid that problem, disable remote staging altogether on the deploy goal, and instead configure the deploy-staged goal (See below). --> <skipRemoteStaging>true</skipRemoteStaging> </configuration> </execution> <execution> <id>deploy-staged</id> <phase>deploy</phase> <goals> <goal>deploy-staged</goal> </goals> </execution> </executions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://oss.sonatype.org/</nexusUrl> <autoReleaseAfterClose>true</autoReleaseAfterClose> </configuration> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> <configuration> <tagNameFormat>@{project.version}</tagNameFormat> <useReleaseProfile>false</useReleaseProfile> <releaseProfiles>release</releaseProfiles> <goals>deploy</goals> <autoVersionSubmodules>true</autoVersionSubmodules> </configuration> </plugin> <plugin> <groupId>de.jutzig</groupId> <artifactId>github-release-plugin</artifactId> <version>1.4.0</version> <configuration> <releaseName>${project.version}</releaseName> <tag>${project.version}</tag> </configuration> </plugin> <plugin> <groupId>com.github.veithen.maven</groupId> <artifactId>eclipse-settings-maven-plugin</artifactId> <version>0.2.0</version> <executions> <execution> <goals> <goal>apply</goal> </goals> </execution> </executions> <configuration> <bundles> <bundle> <symbolicName>org.eclipse.jdt.core</symbolicName> <properties> <property> <name>org.eclipse.jdt.core.formatter.comment.line_length</name> <value>100</value> </property> <property> <name>org.eclipse.jdt.core.formatter.lineSplit</name> <value>100</value> </property> <property> <name>org.eclipse.jdt.core.formatter.tabulation.char</name> <value>space</value> </property> <property> <name>org.eclipse.jdt.core.formatter.indentation.size</name> <value>4</value> </property> </properties> </bundle> <bundle> <symbolicName>org.jboss.tools.maven.apt</symbolicName> <properties> <property> <name>org.jboss.tools.maven.apt.mode</name> <value>jdt_apt</value> </property> <property> <name>org.jboss.tools.maven.apt.aptProcessDuringReconcile</name> <value>true</value> </property> </properties> </bundle> </bundles> </configuration> </plugin> <plugin> <groupId>com.github.veithen.maven</groupId> <artifactId>java-format-maven-plugin</artifactId> <version>0.1.0</version> <executions> <execution> <goals> <goal>check</goal> </goals> </execution> </executions> <configuration> <!-- AOSP changes the indentation (from 2 to 4). --> <style>aosp</style> <importOrderStyle>google</importOrderStyle> <sortImports>false</sortImports> <additionalSourceDirectories> <additionalSourceDirectory>src/it</additionalSourceDirectory> </additionalSourceDirectories> </configuration> <dependencies> <dependency> <groupId>com.google.googlejavaformat</groupId> <artifactId>google-java-format</artifactId> <version>1.13.0</version> </dependency> </dependencies> </plugin> </plugins> </build> <profiles> <profile> <id>derived-project</id> <activation> <file> <missing>${basedir}/.parent.marker</missing> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-output-timestamp-property</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireProperty> <property>project.build.outputTimestamp</property> <message>The property "project.build.outputTimestamp" must be set on the reactor's root pom.xml to make the build reproducible. Further information at "https://maven.apache.org/guides/mini/guide-reproducible-builds.html".</message> </requireProperty> </rules> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>jdk16</id> <activation> <jdk>[16,)</jdk> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <fork>true</fork> <compilerArgs combine.children="append"> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</compilerArg> <compilerArg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</compilerArg> </compilerArgs> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <build> <plugins> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-gpg-plugin</artifactId> <version>3.0.1</version> <!-- Passphrase configuration: http://maven.apache.org/plugins/maven-gpg-plugin/usage.html#Configure_passphrase_in_settings.xml --> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <dependencies> <dependency> <groupId>org.apache.apache.resources</groupId> <artifactId>apache-source-release-assembly-descriptor</artifactId> <version>1.0.6</version> </dependency> </dependencies> <executions> <execution> <id>source-release-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot> <descriptorRefs> <descriptorRef>source-release</descriptorRef> </descriptorRefs> <formats> <format>zip</format> </formats> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>