160 lines
5.5 KiB
Plaintext
160 lines
5.5 KiB
Plaintext
|
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||
|
<modelVersion>4.0.0</modelVersion>
|
||
|
<parent>
|
||
|
<groupId>com.fasterxml.jackson</groupId>
|
||
|
<artifactId>jackson-bom</artifactId>
|
||
|
<version>2.9.4</version>
|
||
|
</parent>
|
||
|
<artifactId>jackson-base</artifactId>
|
||
|
<packaging>pom</packaging>
|
||
|
<description>Parent pom for components of Jackson dataprocessor: includes base settings as well
|
||
|
as consistent set of dependencies across components. NOTE: NOT to be used by components outside
|
||
|
of Jackson: application code should only rely on `jackson-bom`
|
||
|
</description>
|
||
|
<properties>
|
||
|
<!-- by default, assume Automatic Module Name can use same package as one
|
||
|
that contains `PackageVersion` class: works for all extension modules
|
||
|
(but some core components require override)
|
||
|
-->
|
||
|
<jdk.module.name>${packageVersion.package}</jdk.module.name>
|
||
|
|
||
|
<!-- 27-Sep-2017, tatu: Until update of parent poms (at least), need to
|
||
|
ensure newer versions of certain plugins
|
||
|
-->
|
||
|
<version.plugin.javadoc>3.0.0-M1</version.plugin.javadoc>
|
||
|
|
||
|
</properties>
|
||
|
|
||
|
<dependencies>
|
||
|
<dependency> <!-- all components use junit for testing -->
|
||
|
<groupId>junit</groupId>
|
||
|
<artifactId>junit</artifactId>
|
||
|
<scope>test</scope>
|
||
|
</dependency>
|
||
|
</dependencies>
|
||
|
|
||
|
<build>
|
||
|
<pluginManagement>
|
||
|
<plugins>
|
||
|
|
||
|
<!-- Verify existence of certain settings
|
||
|
-->
|
||
|
<plugin>
|
||
|
<groupId>org.apache.maven.plugins</groupId>
|
||
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||
|
<version>3.0.0-M1</version>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>enforce-java</id>
|
||
|
<phase>validate</phase>
|
||
|
<goals>
|
||
|
<goal>enforce</goal>
|
||
|
</goals>
|
||
|
<configuration>
|
||
|
<rules>
|
||
|
<requireMavenVersion>
|
||
|
<version>[3.0,)</version>
|
||
|
<message>[ERROR] The currently supported version of Maven is 3.0 or higher</message>
|
||
|
</requireMavenVersion>
|
||
|
<requirePluginVersions>
|
||
|
<banLatest>true</banLatest>
|
||
|
<banRelease>true</banRelease>
|
||
|
<banSnapshots>true</banSnapshots>
|
||
|
<phases>clean,deploy,site</phases>
|
||
|
<message>[ERROR] Best Practice is to always define plugin versions!</message>
|
||
|
</requirePluginVersions>
|
||
|
</rules>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
<execution>
|
||
|
<id>enforce-properties</id>
|
||
|
<phase>validate</phase>
|
||
|
|
||
|
<!-- important! Do NOT enable here since parent does not define, build would fail
|
||
|
BUT: alas means child has specify settings for phase AND goals like so:
|
||
|
<phase>validate</phase>
|
||
|
<goals>
|
||
|
<goal>enforce</goal>
|
||
|
</goals>
|
||
|
-->
|
||
|
<configuration>
|
||
|
<rules>
|
||
|
<!-- Needed both for Replacer plug-in AND for Automatic Module Name -->
|
||
|
<requireProperty>
|
||
|
<property>packageVersion.package</property>
|
||
|
</requireProperty>
|
||
|
<requireProperty>
|
||
|
<property>packageVersion.dir</property>
|
||
|
</requireProperty>
|
||
|
</rules>
|
||
|
</configuration>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<!-- Augment settings of OSGi bundles created -->
|
||
|
<plugin>
|
||
|
<groupId>org.apache.felix</groupId>
|
||
|
<artifactId>maven-bundle-plugin</artifactId>
|
||
|
<configuration>
|
||
|
<instructions combine.children="merge">
|
||
|
<Automatic-Module-Name>${jdk.module.name}</Automatic-Module-Name>
|
||
|
</instructions>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
|
||
|
<plugin>
|
||
|
<groupId>org.apache.maven.plugins</groupId>
|
||
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||
|
<version>${version.plugin.javadoc}</version>
|
||
|
<configuration>
|
||
|
<!-- Disable Java 8 javadoc warnings -->
|
||
|
<additionalparam>-Xdoclint:none</additionalparam>
|
||
|
<!-- ... if on Java 8 -->
|
||
|
<!-- otherwise just: -->
|
||
|
<failOnError>false</failOnError>
|
||
|
<links>
|
||
|
<link>http://docs.oracle.com/javase/8/docs/api/</link>
|
||
|
</links>
|
||
|
</configuration>
|
||
|
</plugin>
|
||
|
<!-- Set up replacer but do not invoke (it's pom, after all) -->
|
||
|
<plugin>
|
||
|
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
||
|
<artifactId>replacer</artifactId>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>process-packageVersion</id>
|
||
|
<phase>generate-sources</phase>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
|
||
|
<!-- 08-Aug-2017, tatu: Need newer version of cobertura wrt Java 8+ -->
|
||
|
<plugin>
|
||
|
<groupId>org.codehaus.mojo</groupId>
|
||
|
<artifactId>cobertura-maven-plugin</artifactId>
|
||
|
<version>2.7</version>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
</pluginManagement>
|
||
|
|
||
|
<!-- And one more odd thing... we actually MUST disable checks just for this
|
||
|
pom (but not on something that extends i)
|
||
|
-->
|
||
|
<plugins>
|
||
|
<plugin>
|
||
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||
|
<executions>
|
||
|
<execution>
|
||
|
<id>enforce-properties</id>
|
||
|
<phase>none</phase>
|
||
|
</execution>
|
||
|
</executions>
|
||
|
</plugin>
|
||
|
</plugins>
|
||
|
|
||
|
</build>
|
||
|
</project>
|