basepom-minimal
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.basepom</groupId>
<artifactId>basepom-minimal</artifactId>
<version>59</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<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>
<parent>
<groupId>org.basepom</groupId>
<artifactId>basepom-foundation</artifactId>
<version>59</version>
<relativePath>../foundation</relativePath>
</parent>
<artifactId>basepom-minimal</artifactId>
<packaging>pom</packaging>
<!--
<name>basepom-minimal</name>
<description>Base POM for new projects with minimal rules applied. Does not include any dependency, distribution or repository information.</description>
<url>https://github.com/basepom/basepom/minimal</url>
-->
<properties>
<basepom.check.skip-pmd>${basepom.check.skip-extended}</basepom.check.skip-pmd>
<basepom.check.skip-checkstyle>${basepom.check.skip-extended}</basepom.check.skip-checkstyle>
<basepom.check.fail-pmd>${basepom.check.fail-extended}</basepom.check.fail-pmd>
<basepom.check.fail-checkstyle>${basepom.check.fail-extended}</basepom.check.fail-checkstyle>
<!-- deprecated, do not use any longer -->
<basepom.shaded.main-class />
<!-- shade and repack plugin. -->
<basepom.main-class>${basepom.shaded.main-class}</basepom.main-class>
<!-- policy jar for license and checkstyle defaults -->
<dep.basepom-policy.version>10</dep.basepom-policy.version>
</properties>
<repositories>
<!-- Fix for a bad dependency in spring -->
<repository>
<id>jaspersoft.org</id>
<url>dummy-url</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<configuration>
<exceptions>
<exception>
<conflictingDependencies>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>javax.annotation</package>
</packages>
</exception>
<exception>
<conflictingDependencies>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
</dependency>
<dependency>
<groupId>net.jcip</groupId>
<artifactId>jcip-annotations</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>net.jcip.annotations</package>
</packages>
</exception>
<exception>
<conflictingDependencies>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>findbugs-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>edu.umd.cs.findbugs.annotations</package>
</packages>
</exception>
<!-- Java injection is a mess as well... -->
<exception>
<conflictingDependencies>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<!-- Can contain the classes in the javax package if using version 1.x-->
<dependency>
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
</dependency>
<!-- Can contain the classes in the javax package if using version 2.6.1-->
<dependency>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>javax.inject</package>
</packages>
</exception>
<exception>
<conflictingDependencies>
<dependency>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>jakarta.inject</artifactId>
</dependency>
<dependency>
<groupId>jakarta.inject</groupId>
<artifactId>jakarta.inject-api</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>jakarta.inject</package>
</packages>
</exception>
<!-- Glassfish repackages aopalliance annotations -->
<exception>
<conflictingDependencies>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.hk2.external</groupId>
<artifactId>aopalliance-repackaged</artifactId>
</dependency>
</conflictingDependencies>
<packages>
<package>org.aopalliance.aop</package>
<package>org.aopalliance.intercept</package>
</packages>
</exception>
</exceptions>
<ignoredResourcePatterns>
<!-- common file endings -->
<ignoredResourcePattern>.*\.afm$</ignoredResourcePattern>
<ignoredResourcePattern>.*\.dtd$</ignoredResourcePattern>
<ignoredResourcePattern>.*\.gif$</ignoredResourcePattern>
<ignoredResourcePattern>.*\.html</ignoredResourcePattern>
<ignoredResourcePattern>.*\.java$</ignoredResourcePattern>
<ignoredResourcePattern>.*\.png$</ignoredResourcePattern>
<ignoredResourcePattern>.*\.properties$</ignoredResourcePattern>
<ignoredResourcePattern>.*\.txt$</ignoredResourcePattern>
<!-- common file name patterns -->
<ignoredResourcePattern>^\..*</ignoredResourcePattern>
<ignoredResourcePattern>about.*</ignoredResourcePattern>
<ignoredResourcePattern>about_files\/.*</ignoredResourcePattern>
<ignoredResourcePattern>license\/.*</ignoredResourcePattern>
<ignoredResourcePattern>.*\/schema$</ignoredResourcePattern>
<!-- jars tend to contain these files all the time -->
<ignoredResourcePattern>mime\.types$</ignoredResourcePattern>
<ignoredResourcePattern>plugin\.properties$</ignoredResourcePattern>
<ignoredResourcePattern>plugin\.xml$</ignoredResourcePattern>
<ignoredResourcePattern>reference\.conf$</ignoredResourcePattern>
<!-- the logging config should not be ignored but they are a constant -->
<!-- source of annoyance. If you use logging properties from the classpath -->
<!-- then you are in trouble anyway -->
<ignoredResourcePattern>log4j\.xml$</ignoredResourcePattern>
<ignoredResourcePattern>log4j\.properties$</ignoredResourcePattern>
<ignoredResourcePattern>logback\.xml$</ignoredResourcePattern>
<ignoredResourcePattern>logback\.properties$</ignoredResourcePattern>
</ignoredResourcePatterns>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<excludeRoots>
<excludeRoot>target/generated-sources/stubs</excludeRoot>
<excludeRoot>target/generated-sources/annotations</excludeRoot>
</excludeRoots>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<!-- MDEP-804 -->
<ignoredNonTestScopedDependencies>
<ignoreNonTestScopedDependency>*</ignoreNonTestScopedDependency>
</ignoredNonTestScopedDependencies>
<ignoredDependencies>
<!-- jars that only contain annotations are pretty rough to detect as they need -->
<!-- to be present when compiling but may or may not be referenced at runtime -->
<ignoredDependency>aopalliance:aopalliance</ignoredDependency>
<ignoredDependency>com.github.spotbugs:spotbugs-annotations</ignoredDependency>
<ignoredDependency>com.google.code.findbugs:annotations</ignoredDependency>
<ignoredDependency>com.google.code.findbugs:jsr305</ignoredDependency>
<ignoredDependency>com.google.errorprone:error_prone_annotations</ignoredDependency>
<ignoredDependency>jakarta.inject:jakarta.inject-api</ignoredDependency>
<ignoredDependency>javax.inject:javax.inject</ignoredDependency>
<ignoredDependency>net.jcip:jcip-annotations</ignoredDependency>
<ignoredDependency>org.checkerframework:checker-qual</ignoredDependency>
<ignoredDependency>org.glassfish.hk2.external:aopalliance-repackaged</ignoredDependency>
<ignoredDependency>org.glassfish.hk2.external:jakarta.inject</ignoredDependency>
<ignoredDependency>org.glassfish.hk2.external:javax.inject</ignoredDependency>
</ignoredDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.basepom</groupId>
<artifactId>basepom-policy</artifactId>
<version>${dep.basepom-policy.version}</version>
</dependency>
</dependencies>
<configuration>
<configLocation>checkstyle/checkstyle-basepom.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<configuration>
<transformers combine.children="append">
<transformer implementation="org.basepom.maven.shade.CollectingManifestResourceTransformer">
<collectSections>true</collectSections>
<manifestEntries>
<X-BasePOM-Build-Id>${basepom.shaded.id}</X-BasePOM-Build-Id>
<X-BasePOM-Name>${project.name}</X-BasePOM-Name>
<X-BasePOM-Git-Commit-Id>${git.commit.id}</X-BasePOM-Git-Commit-Id>
</manifestEntries>
<mainClass>${basepom.main-class}</mainClass>
</transformer>
</transformers>
</configuration>
<dependencies>
<dependency>
<groupId>org.basepom</groupId>
<artifactId>basepom-policy</artifactId>
<version>${dep.basepom-policy.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>repack-maven-plugin</artifactId>
<configuration>
<mainClass>${basepom.main-class}</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.basepom</groupId>
<artifactId>basepom-policy</artifactId>
<version>${dep.basepom-policy.version}</version>
</dependency>
</dependencies>
<configuration>
<excludeFilterFiles>
<excludeFilterFile>spotbugs/spotbugs-suppress.xml</excludeFilterFile>
</excludeFilterFiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables combine.children="append">
<sun.jnu.encoding>${project.build.sourceEncoding}</sun.jnu.encoding>
<user.timezone>UTC</user.timezone>
<java.awt.headless>true</java.awt.headless>
<java.util.logging.SimpleFormatter.format>%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s %5$s%6$s%n</java.util.logging.SimpleFormatter.format>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables combine.children="append">
<sun.jnu.encoding>${project.build.sourceEncoding}</sun.jnu.encoding>
<user.timezone>UTC</user.timezone>
<java.awt.headless>true</java.awt.headless>
<java.util.logging.SimpleFormatter.format>%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %4$s %5$s%6$s%n</java.util.logging.SimpleFormatter.format>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>