blob: f52ed5e4c004403347c58101220e7ef9152f6907 [file] [log] [blame]
simonetripodi451776a2012-08-24 14:21:58 +02001<?xml version="1.0" encoding="UTF-8"?>
Tatu Saloranta90c43522011-12-22 23:25:27 -08002<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">
Ben Gertzfield66a12b62013-01-04 12:01:07 -08003 <modelVersion>4.0.0</modelVersion>
simonetripodi451776a2012-08-24 14:21:58 +02004
Tatu Saloranta90c43522011-12-22 23:25:27 -08005 <parent>
Tatu Saloranta09468092014-02-28 20:37:39 -08006 <groupId>com.fasterxml.jackson</groupId>
Tatu Salorantaf9ea9792017-09-09 17:27:52 -07007 <artifactId>jackson-base</artifactId>
Tatu Salorantae7365412020-03-02 19:21:52 -08008 <version>2.10.4-SNAPSHOT</version>
Tatu Saloranta90c43522011-12-22 23:25:27 -08009 </parent>
simonetripodi451776a2012-08-24 14:21:58 +020010
Tatu Saloranta90c43522011-12-22 23:25:27 -080011 <groupId>com.fasterxml.jackson.core</groupId>
12 <artifactId>jackson-databind</artifactId>
Tatu Saloranta95e5fbf2020-03-02 19:15:05 -080013 <version>2.10.4-SNAPSHOT</version>
simonetripodi451776a2012-08-24 14:21:58 +020014 <name>jackson-databind</name>
Lukasz Dywicki9fb18f42013-09-03 19:27:55 +020015 <packaging>bundle</packaging>
simonetripodi451776a2012-08-24 14:21:58 +020016 <description>General data-binding functionality for Jackson: works on core streaming API</description>
Tatu Saloranta7cf95f12014-11-06 08:28:25 -080017 <url>http://github.com/FasterXML/jackson</url>
Cowtowncoder16aa3052015-10-07 11:14:52 -070018 <inceptionYear>2008</inceptionYear>
simonetripodi451776a2012-08-24 14:21:58 +020019
Tatu Saloranta90c43522011-12-22 23:25:27 -080020 <scm>
21 <connection>scm:git:git@github.com:FasterXML/jackson-databind.git</connection>
22 <developerConnection>scm:git:git@github.com:FasterXML/jackson-databind.git</developerConnection>
Ben Gertzfield66a12b62013-01-04 12:01:07 -080023 <url>http://github.com/FasterXML/jackson-databind</url>
Tatu Saloranta95e5fbf2020-03-02 19:15:05 -080024 <tag>HEAD</tag>
Tatu Saloranta90c43522011-12-22 23:25:27 -080025 </scm>
Tatu Saloranta90c43522011-12-22 23:25:27 -080026
Tatu Saloranta90c43522011-12-22 23:25:27 -080027 <properties>
Tatu Saloranta8658f242018-06-14 10:04:39 -070028 <!-- With Jackson 2.10 baseline is JDK 7 (except for annotations/streaming),
Tatu Saloranta5fdb9322016-02-28 17:47:30 -080029 and new language features (diamond pattern) may be used.
Tatu Saloranta65807342016-09-15 18:15:09 -070030 JDK classes are still loaded dynamically since there isn't much downside
31 (small number of types); this allows use on JDK 6 platforms still (including
32 Android)
Cowtowncoder37b4ad52015-10-02 17:09:37 -070033 -->
Tatu Saloranta8f4b6232016-02-03 19:03:17 -080034 <javac.src.version>1.7</javac.src.version>
35 <javac.target.version>1.7</javac.target.version>
Cowtowncoder37b4ad52015-10-02 17:09:37 -070036
Cowtowncoder129180d2015-08-14 14:54:06 -070037 <!-- Can not use default, since group id != Java package name here -->
38 <osgi.export>com.fasterxml.jackson.databind.*;version=${project.version}</osgi.export>
Tatu Saloranta3ebfcd12019-04-15 21:08:23 -070039 <!-- fix for databind#2299: using jackson-databind in an OSGi environment under Android -->
40 <osgi.import>
Tatu Saloranta7da282d2019-04-15 21:05:00 -070041 org.w3c.dom.bootstrap;resolution:=optional,
Tatu Saloranta3ebfcd12019-04-15 21:08:23 -070042 *
Tatu Saloranta7da282d2019-04-15 21:05:00 -070043 </osgi.import>
Ben Gertzfield5780f882013-01-03 17:04:21 -080044
Ben Gertzfield66a12b62013-01-04 12:01:07 -080045 <!-- Generate PackageVersion.java into this directory. -->
Tatu Salorantaf314ac72013-01-10 19:50:17 -080046 <packageVersion.dir>com/fasterxml/jackson/databind/cfg</packageVersion.dir>
Ben Gertzfield66a12b62013-01-04 12:01:07 -080047 <packageVersion.package>com.fasterxml.jackson.databind.cfg</packageVersion.package>
Tatu Saloranta3ac8ccc2017-09-07 10:08:39 -070048
Tatu Saloranta77bd2ef2019-02-08 19:25:12 -080049 <version.powermock>2.0.0</version.powermock>
Tatu Saloranta90c43522011-12-22 23:25:27 -080050 </properties>
51
Tatu Saloranta90c43522011-12-22 23:25:27 -080052 <dependencies>
53 <!-- Builds on core streaming API; also needs core annotations -->
54 <dependency>
55 <groupId>com.fasterxml.jackson.core</groupId>
Tatu Salorantadeaee9c2012-03-25 12:01:34 -070056 <artifactId>jackson-annotations</artifactId>
Tatu Salorantacd6ebaf2017-03-06 20:10:33 -080057 <!-- 06-Mar-2017, tatu: Although bom provides for dependencies, some legacy
58 usage seems to benefit from actually specifying version here in case
59 it is dependent on transitively
60 -->
61 <version>${jackson.version.annotations}</version>
Tatu Saloranta90c43522011-12-22 23:25:27 -080062 </dependency>
63 <dependency>
64 <groupId>com.fasterxml.jackson.core</groupId>
Tatu Salorantadeaee9c2012-03-25 12:01:34 -070065 <artifactId>jackson-core</artifactId>
Tatu Salorantacd6ebaf2017-03-06 20:10:33 -080066 <version>${jackson.version.core}</version>
Tatu Saloranta90c43522011-12-22 23:25:27 -080067 </dependency>
Tatu Saloranta6e21fbf2011-12-24 10:08:25 -080068
Tatu Saloranta09468092014-02-28 20:37:39 -080069 <!-- and for testing we need a few libraries
Tatu Saloranta6e21fbf2011-12-24 10:08:25 -080070 libs for which we use reflection for code, but direct dep for testing
71 -->
Tatu Saloranta504464d2016-05-03 19:25:52 -070072
73 <dependency>
lufe66cfe88fe2015-06-30 15:35:30 +020074 <groupId>org.powermock</groupId>
Tatu Saloranta77bd2ef2019-02-08 19:25:12 -080075 <artifactId>powermock-core</artifactId>
76 <version>${version.powermock}</version>
lufe66cfe88fe2015-06-30 15:35:30 +020077 <scope>test</scope>
Tatu Saloranta3c35f1c2015-11-28 12:18:48 -080078 </dependency>
79 <dependency>
lufe66cfe88fe2015-06-30 15:35:30 +020080 <groupId>org.powermock</groupId>
Tatu Saloranta77bd2ef2019-02-08 19:25:12 -080081 <artifactId>powermock-module-junit4</artifactId>
82 <version>${version.powermock}</version>
83 <scope>test</scope>
84 </dependency>
85 <dependency>
86 <groupId>org.powermock</groupId>
87 <artifactId>powermock-api-mockito2</artifactId>
88 <version>${version.powermock}</version>
lufe66cfe88fe2015-06-30 15:35:30 +020089 <scope>test</scope>
Tatu Saloranta3c35f1c2015-11-28 12:18:48 -080090 </dependency>
Michael Spiegele7c54202014-11-26 20:40:21 -050091 <!-- For testing TestNoClassDefFoundDeserializer -->
92 <dependency>
Michael Spiegel95f3fab2014-11-29 10:51:55 -050093 <groupId>javax.measure</groupId>
94 <artifactId>jsr-275</artifactId>
Cowtowncoder37b4ad52015-10-02 17:09:37 -070095 <version>1.0.0</version>
Michael Spiegele7c54202014-11-26 20:40:21 -050096 <scope>test</scope>
97 </dependency>
Tatu Saloranta90c43522011-12-22 23:25:27 -080098 </dependencies>
99
Tatu Salorantadd97c732018-03-26 21:04:35 -0700100 <!-- Alas, need to include snapshot reference since otherwise can not find
101 snapshot of parent... -->
102 <repositories>
103 <repository>
104 <id>sonatype-nexus-snapshots</id>
105 <name>Sonatype Nexus Snapshots</name>
106 <url>https://oss.sonatype.org/content/repositories/snapshots</url>
107 <releases><enabled>false</enabled></releases>
108 <snapshots><enabled>true</enabled></snapshots>
109 </repository>
110 </repositories>
111
Tatu Saloranta90c43522011-12-22 23:25:27 -0800112 <build>
Tatu Saloranta7eeabba2014-04-26 12:23:49 -0700113 <plugins>
Tatu Salorantab6e6e572019-08-24 16:23:24 -0700114
115 <plugin>
116 <groupId>org.jacoco</groupId>
117 <artifactId>jacoco-maven-plugin</artifactId>
118 <version>0.8.4</version>
119 <executions>
120 <execution>
121 <goals>
122 <goal>prepare-agent</goal>
123 </goals>
124 </execution>
125 <!-- attached to Maven test phase -->
126 <execution>
127 <id>report</id>
128 <phase>test</phase>
129 <goals>
130 <goal>report</goal>
131 </goals>
132 </execution>
133 </executions>
134 </plugin>
135
Tatu Salorantaf9ea9792017-09-09 17:27:52 -0700136 <!-- Important: enable enforcer plug-in: -->
137 <plugin>
138 <artifactId>maven-enforcer-plugin</artifactId>
139 <executions> <!-- or? combine.children="merge"> -->
140 <execution>
141 <id>enforce-properties</id>
142 <phase>validate</phase>
143 <goals><goal>enforce</goal></goals>
144 </execution>
145 </executions>
146 </plugin>
147
Tatu Saloranta4294ffc2014-09-03 22:40:45 -0700148 <plugin>
Tatu Salorantad063daa2012-02-24 16:09:04 -0800149 <groupId>org.apache.maven.plugins</groupId>
Cowtowncoder044bb5a2014-10-03 10:50:17 -0700150 <version>${version.plugin.surefire}</version>
Tatu Salorantad063daa2012-02-24 16:09:04 -0800151 <artifactId>maven-surefire-plugin</artifactId>
Tatu Salorantad063daa2012-02-24 16:09:04 -0800152 <configuration>
Michael Spiegele7c54202014-11-26 20:40:21 -0500153 <classpathDependencyExcludes>
Michael Spiegel95f3fab2014-11-29 10:51:55 -0500154 <exclude>javax.measure:jsr-275</exclude>
Michael Spiegele7c54202014-11-26 20:40:21 -0500155 </classpathDependencyExcludes>
Tatu Salorantad063daa2012-02-24 16:09:04 -0800156 <excludes>
157 <exclude>com/fasterxml/jackson/failing/*.java</exclude>
158 </excludes>
Tatu Saloranta88e3f042019-11-26 13:22:58 -0800159 <!-- 26-Nov-2019, tatu: moar parallelism! Per-class basis, safe, efficient enough
160 ... although not 100% sure this makes much difference TBH
161 -->
162 <threadCount>4</threadCount>
163 <parallel>classes</parallel>
Tatu Salorantad063daa2012-02-24 16:09:04 -0800164 </configuration>
165 </plugin>
simonetripodi451776a2012-08-24 14:21:58 +0200166
Tatu Salorantaf9ea9792017-09-09 17:27:52 -0700167 <!-- parent definitions should be ok, but need to add more links -->
Tatu Salorantad063daa2012-02-24 16:09:04 -0800168 <plugin>
169 <groupId>org.apache.maven.plugins</groupId>
simonetripodi451776a2012-08-24 14:21:58 +0200170 <artifactId>maven-javadoc-plugin</artifactId>
simonetripodi451776a2012-08-24 14:21:58 +0200171 <configuration>
Tatu Salorantaf9ea9792017-09-09 17:27:52 -0700172 <links combine.children="append">
Tatu Saloranta26ce3dc2019-03-08 21:25:43 -0800173 <link>http://fasterxml.github.com/jackson-annotations/javadoc/2.10</link>
174 <link>http://fasterxml.github.com/jackson-core/javadoc/2.10</link>
simonetripodi451776a2012-08-24 14:21:58 +0200175 </links>
176 </configuration>
Tatu Salorantad063daa2012-02-24 16:09:04 -0800177 </plugin>
Tatu Salorantafe45e712013-12-13 20:09:00 -0800178
Tatu Salorantaf9ea9792017-09-09 17:27:52 -0700179 <!-- settings are fine, but needed to trigger execution! -->
Tatu Salorantafe45e712013-12-13 20:09:00 -0800180 <plugin>
Ben Gertzfield5780f882013-01-03 17:04:21 -0800181 <groupId>com.google.code.maven-replacer-plugin</groupId>
Ben Gertzfield66a12b62013-01-04 12:01:07 -0800182 <artifactId>replacer</artifactId>
Ben Gertzfield5780f882013-01-03 17:04:21 -0800183 </plugin>
Tatu Saloranta975e3602016-10-18 14:10:20 -0700184
Tatu Saloranta26ce3dc2019-03-08 21:25:43 -0800185 <!-- 04-Mar-2019, tatu: Add rudimentary JDK9+ module info. To build with JDK 8
186 will have to use `moduleInfoFile` as anything else requires JDK 9+
187 -->
Tatu Saloranta975e3602016-10-18 14:10:20 -0700188 <plugin>
Tatu Saloranta26ce3dc2019-03-08 21:25:43 -0800189 <groupId>org.moditect</groupId>
190 <artifactId>moditect-maven-plugin</artifactId>
Tatu Saloranta975e3602016-10-18 14:10:20 -0700191 </plugin>
Tatu Saloranta90c43522011-12-22 23:25:27 -0800192 </plugins>
193 </build>
Tatu Saloranta65c83692011-12-24 18:15:07 -0800194
Tatu Saloranta90c43522011-12-22 23:25:27 -0800195 <profiles>
Tatu Saloranta9af59042012-02-19 00:03:55 -0800196 <profile>
197 <id>release</id>
198 <properties>
199 <maven.test.skip>true</maven.test.skip>
200 <skipTests>true</skipTests>
201 </properties>
simonetripodi451776a2012-08-24 14:21:58 +0200202 </profile>
Tatu Saloranta90c43522011-12-22 23:25:27 -0800203 </profiles>
Tatu Saloranta90c43522011-12-22 23:25:27 -0800204
205</project>