1<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/maven-v4_0_0.xsd">
2    <!--
3     Copyright (C) 2006 Joe Walnes.
4     Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 XStream committers.
5     All rights reserved.
6
7     The software in this package is published under the terms of the BSD
8     style license a copy of which has been included with this distribution in
9     the LICENSE.txt file.
10
11     Created on 29. July 2006 by Mauro Talevi
12     -->
13  <modelVersion>4.0.0</modelVersion>
14  <parent>
15    <groupId>com.thoughtworks.xstream</groupId>
16    <artifactId>xstream-parent</artifactId>
17    <version>1.4.15</version>
18  </parent>
19  <artifactId>xstream</artifactId>
20  <packaging>jar</packaging>
21  <name>XStream Core</name>
22
23  <dependencies>
24    <dependency>
25      <groupId>dom4j</groupId>
26      <artifactId>dom4j</artifactId>
27      <optional>true</optional>
28    </dependency>
29
30    <dependency>
31      <groupId>org.jdom</groupId>
32      <artifactId>jdom</artifactId>
33      <optional>true</optional>
34    </dependency>
35    <dependency>
36      <groupId>org.jdom</groupId>
37      <artifactId>jdom2</artifactId>
38      <optional>true</optional>
39    </dependency>
40
41    <dependency>
42      <groupId>joda-time</groupId>
43      <artifactId>joda-time</artifactId>
44      <optional>true</optional>
45    </dependency>
46
47    <dependency>
48      <groupId>stax</groupId>
49      <artifactId>stax</artifactId>
50      <optional>true</optional>
51    </dependency>
52
53    <dependency>
54      <groupId>org.codehaus.woodstox</groupId>
55      <artifactId>wstx-asl</artifactId>
56      <optional>true</optional>
57    </dependency>
58
59    <dependency>
60      <groupId>stax</groupId>
61      <artifactId>stax-api</artifactId>
62      <optional>true</optional>
63    </dependency>
64
65    <dependency>
66      <groupId>xom</groupId>
67      <artifactId>xom</artifactId>
68      <optional>true</optional>
69    </dependency>
70
71    <dependency>
72      <groupId>xmlpull</groupId>
73      <artifactId>xmlpull</artifactId>
74    </dependency>
75
76    <dependency>
77      <groupId>net.sf.kxml</groupId>
78      <artifactId>kxml2-min</artifactId>
79      <optional>true</optional>
80    </dependency>
81
82<!-- Registers itself as Service like Xpp3
83    <dependency>
84      <groupId>net.sf.kxml</groupId>
85      <artifactId>kxml2</artifactId>
86      <optional>true</optional>
87    </dependency>
88-->
89
90    <dependency>
91      <groupId>xpp3</groupId>
92      <artifactId>xpp3_min</artifactId>
93    </dependency>
94
95    <dependency>
96      <groupId>cglib</groupId>
97      <artifactId>cglib-nodep</artifactId>
98      <optional>true</optional>
99    </dependency>
100
101    <dependency>
102      <groupId>org.codehaus.jettison</groupId>
103      <artifactId>jettison</artifactId>
104      <optional>true</optional>
105    </dependency>
106
107    <dependency>
108      <groupId>javax.activation</groupId>
109      <artifactId>activation</artifactId>
110      <optional>true</optional>
111    </dependency>
112    <dependency>
113      <groupId>javax.xml.bind</groupId>
114      <artifactId>jaxb-api</artifactId>
115      <scope>provided</scope><!-- only required for compilation with Java 11 or higher, but only used by Java 7 or below -->
116    </dependency>
117
118    <!-- test-scoped -->
119    <dependency>
120      <groupId>junit</groupId>
121      <artifactId>junit</artifactId>
122    </dependency>
123
124    <dependency>
125      <groupId>jmock</groupId>
126      <artifactId>jmock</artifactId>
127    </dependency>
128
129    <dependency>
130      <groupId>org.json</groupId>
131      <artifactId>json</artifactId>
132      <scope>test</scope>
133    </dependency>
134
135    <dependency>
136      <groupId>com.megginson.sax</groupId>
137      <artifactId>xml-writer</artifactId>
138      <scope>test</scope>
139    </dependency>
140
141    <dependency>
142      <groupId>commons-lang</groupId>
143      <artifactId>commons-lang</artifactId>
144      <scope>test</scope>
145    </dependency>
146
147    <dependency>
148      <groupId>com.sun.xml.ws</groupId>
149      <artifactId>jaxws-rt</artifactId>
150      <scope>test</scope>
151      <exclusions>
152        <exclusion>
153          <groupId>javax.xml.ws</groupId>
154          <artifactId>jaxws-api</artifactId>
155        </exclusion>
156        <exclusion>
157          <groupId>com.sun.istack</groupId>
158          <artifactId>istack-commons-runtime</artifactId>
159        </exclusion>
160        <exclusion>
161          <groupId>com.sun.xml.bind</groupId>
162          <artifactId>jaxb-impl</artifactId>
163        </exclusion>
164        <exclusion>
165          <groupId>com.sun.xml.messaging.saaj</groupId>
166          <artifactId>saaj-impl</artifactId>
167        </exclusion>
168        <exclusion>
169          <groupId>com.sun.xml.stream.buffer</groupId>
170          <artifactId>streambuffer</artifactId>
171        </exclusion>
172        <exclusion>
173          <groupId>com.sun.xml.ws</groupId>
174          <artifactId>policy</artifactId>
175        </exclusion>
176        <exclusion>
177          <groupId>com.sun.org.apache.xml.internal</groupId>
178          <artifactId>resolver</artifactId>
179        </exclusion>
180        <exclusion>
181          <groupId>org.glassfish.gmbal</groupId>
182          <artifactId>gmbal-api-only</artifactId>
183        </exclusion>
184        <exclusion>
185          <groupId>org.jvnet</groupId>
186          <artifactId>mimepull</artifactId>
187        </exclusion>
188        <exclusion>
189          <groupId>org.jvnet.staxex</groupId>
190          <artifactId>stax-ex</artifactId>
191        </exclusion>
192      </exclusions>
193    </dependency>
194  </dependencies>
195
196  <build>
197    <plugins>
198      <plugin>
199        <groupId>org.apache.maven.plugins</groupId>
200        <artifactId>maven-dependency-plugin</artifactId>
201        <executions>
202          <execution>
203            <id>complete-test-classpath</id>
204            <phase>process-test-resources</phase>
205            <goals>
206              <goal>copy</goal>
207            </goals>
208            <configuration>
209              <outputDirectory>target/lib</outputDirectory>
210              <artifactItems>
211                <artifactItem>
212                  <groupId>proxytoys</groupId>
213                  <artifactId>proxytoys</artifactId>
214                  <version>0.2.1</version>
215                </artifactItem>
216              </artifactItems>
217            </configuration>
218          </execution>
219          <execution>
220            <id>collect-dependencies</id>
221            <phase>package</phase>
222            <goals>
223              <goal>copy-dependencies</goal>
224            </goals>
225            <configuration>
226              <outputDirectory>target/dependencies</outputDirectory>
227              <includeScope>runtime</includeScope>
228            </configuration>
229          </execution>
230        </executions>
231      </plugin>
232      <plugin>
233        <groupId>org.apache.maven.plugins</groupId>
234        <artifactId>maven-jar-plugin</artifactId>
235        <executions>
236          <execution>
237            <goals>
238              <goal>test-jar</goal>
239            </goals>
240            <configuration>
241              <includes>
242                <include>**/AbstractAcceptanceTest.*</include>
243                <include>META-INF/LICENSE</include>
244              </includes>
245              <archive combine.children="append">
246                <manifestEntries>
247                  <Specification-Title>${project.name} Test</Specification-Title>
248                  <Implementation-Title>${project.name} Test</Implementation-Title>
249                  <Bundle-License>BSD-3-Clause</Bundle-License>
250                </manifestEntries>
251              </archive>
252            </configuration>
253          </execution>
254        </executions>
255      </plugin>
256    </plugins>
257  </build>
258
259  <profiles>
260    <profile>
261      <id>jdk11-ge</id>
262      <activation>
263        <jdk>[11,)</jdk>
264      </activation>
265      <build>
266        <plugins>
267          <plugin>
268            <groupId>org.apache.maven.plugins</groupId>
269            <artifactId>maven-surefire-plugin</artifactId>
270            <dependencies>
271              <dependency>
272                <groupId>javax.xml.bind</groupId>
273                <artifactId>jaxb-api</artifactId>
274                <version>${version.javax.xml.bind.api}</version>
275              </dependency>
276            </dependencies>
277          </plugin>
278        </plugins>
279      </build>
280      <properties>
281        <surefire.argline>--illegal-access=${surefire.illegal.access}</surefire.argline>
282      </properties>
283    </profile>
284    <profile>
285      <id>jdk9-ge-jdk10</id>
286      <activation>
287        <jdk>[9,11)</jdk>
288      </activation>
289      <properties>
290        <surefire.argline>--add-modules java.activation,java.xml.bind --illegal-access=${surefire.illegal.access}</surefire.argline>
291      </properties>
292    </profile>
293    <profile>
294      <id>jdk18-ge</id>
295      <activation>
296        <jdk>[1.8,)</jdk>
297      </activation>
298      <build>
299        <plugins>
300          <plugin>
301            <groupId>org.apache.maven.plugins</groupId>
302            <artifactId>maven-compiler-plugin</artifactId>
303            <configuration>
304              <compilerArgs>
305                <arg>-XDignore.symbol.file</arg>
306              </compilerArgs>
307              <excludes>
308                <exclude>**/Lambda**</exclude>
309                <exclude>**/time/**</exclude>
310                <exclude>**/ISO8601JavaTimeConverter.java</exclude>
311                <exclude>**/annotations/*</exclude>
312                <exclude>**/AnnotationMapper*</exclude>
313                <exclude>**/enums/*</exclude>
314                <exclude>**/EnumMapper*</exclude>
315                <exclude>**/*15.java</exclude>
316                <exclude>**/PathConverter.java</exclude>
317                <exclude>**/Base64*Codec.java</exclude>
318                <exclude>**/Types.java</exclude>
319                <exclude>**/JDom2*.java</exclude>
320              </excludes>
321              <testExcludes>
322                <exclude>**/Lambda**</exclude>
323                <exclude>**/*18TypesTest.java</exclude>
324                <exclude>**/*17TypesTest.java</exclude>
325                <exclude>**/*15TypesTest.java</exclude>
326                <exclude>**/FieldDictionaryTest.java</exclude>
327                <exclude>**/annotations/*</exclude>
328                <exclude>**/enums/*</exclude>
329              </testExcludes>
330            </configuration>
331            <executions>
332              <execution>
333                <id>compile-jdk15</id>
334                <configuration>
335                  <source>${version.java.5}</source>
336                  <target>${version.java.5}</target>
337                  <excludes combine.self="override">
338                    <exclude>**/Lambda**</exclude>
339                    <exclude>**/time/**</exclude>
340                    <exclude>**/ISO8601JavaTimeConverter.java</exclude>
341                  </excludes>
342                  <testExcludes combine.self="override">
343                    <exclude>**/Lambda**</exclude>
344                    <exclude>**/*18TypesTest.java</exclude>
345                  </testExcludes>
346                </configuration>
347                <goals>
348                  <goal>compile</goal>
349                  <goal>testCompile</goal>
350                </goals>
351              </execution>
352               <execution>
353                <id>compile-jdk18</id>
354                <configuration>
355                  <source>1.8</source>
356                  <target>1.8</target>
357                  <excludes combine.self="override" />
358                  <testExcludes combine.self="override" />
359                </configuration>
360                <goals>
361                  <goal>compile</goal>
362                  <goal>testCompile</goal>
363                </goals>
364              </execution>
365            </executions>
366          </plugin>
367        </plugins>
368      </build>
369    </profile>
370    <profile>
371      <id>jdk18</id>
372      <activation>
373        <jdk>1.8</jdk>
374      </activation>
375      <build>
376        <plugins>
377          <plugin>
378            <groupId>org.apache.maven.plugins</groupId>
379            <artifactId>maven-javadoc-plugin</artifactId>
380            <configuration>
381              <source>1.8</source>
382              <excludePackageNames>com.thoughtworks.xstream.core.util</excludePackageNames>
383            </configuration>
384          </plugin>
385        </plugins>
386      </build>
387      <reporting>
388        <plugins>
389          <plugin>
390            <groupId>org.apache.maven.plugins</groupId>
391            <artifactId>maven-javadoc-plugin</artifactId>
392            <version>${version.plugin.maven.javadoc}</version>
393            <configuration>
394              <excludePackageNames>com.thoughtworks.xstream.core.util</excludePackageNames>
395              <additionalparam>${javadoc.xdoclint}</additionalparam>
396              <detectJavaApiLink>false</detectJavaApiLink>
397              <source>1.8</source>
398              <links>
399                <link>${javadoc.link.javase}</link>
400              </links>
401            </configuration>
402          </plugin>
403        </plugins>
404      </reporting>
405    </profile>
406    <profile>
407      <id>jdk17</id>
408      <activation>
409        <jdk>1.7</jdk>
410      </activation>
411      <build>
412        <plugins>
413          <plugin>
414            <groupId>org.apache.maven.plugins</groupId>
415            <artifactId>maven-compiler-plugin</artifactId>
416            <configuration>
417              <compilerArgs>
418                <arg>-XDignore.symbol.file</arg>
419              </compilerArgs>
420              <excludes>
421                <exclude>**/Lambda**</exclude>
422                <exclude>**/time/**</exclude>
423                <exclude>**/ISO8601JavaTimeConverter.java</exclude>
424                <exclude>**/Base64JavaUtilCodec.java</exclude>
425              </excludes>
426              <testExcludes>
427                <exclude>**/Lambda**</exclude>
428                <exclude>**/Base64JavaUtilCodecTest.java</exclude>
429                <exclude>**/*18TypesTest.java</exclude>
430              </testExcludes>
431            </configuration>
432          </plugin>
433          <plugin><!-- required for Maven Central -->
434            <groupId>org.apache.maven.plugins</groupId>
435            <artifactId>maven-javadoc-plugin</artifactId>
436            <configuration>
437              <source>1.7</source>
438              <excludePackageNames>com.thoughtworks.xstream.core.util</excludePackageNames>
439            </configuration>
440          </plugin>
441        </plugins>
442      </build>
443    </profile>
444    <profile>
445      <id>jdk16</id>
446      <activation>
447        <jdk>1.6</jdk>
448      </activation>
449      <build>
450        <plugins>
451          <plugin>
452            <groupId>org.apache.maven.plugins</groupId>
453            <artifactId>maven-compiler-plugin</artifactId>
454            <configuration>
455              <compilerArgs>
456                <arg>-XDignore.symbol.file</arg>
457              </compilerArgs>
458              <excludes>
459                <exclude>**/Lambda**</exclude>
460                <exclude>**/extended/PathConverter*</exclude>
461                <exclude>**/time/**</exclude>
462                <exclude>**/ISO8601JavaTimeConverter.java</exclude>
463                <exclude>**/Base64JavaUtilCodec.java</exclude>
464              </excludes>
465              <testExcludes>
466                <exclude>**/Lambda**</exclude>
467                <exclude>**/extended/*17Test*</exclude>
468                <exclude>**/Base64JavaUtilCodecTest.java</exclude>
469                <exclude>**/acceptance/Extended17TypesTest*</exclude>
470                <exclude>**/acceptance/*18TypesTest.java</exclude>
471              </testExcludes>
472            </configuration>
473          </plugin>
474        </plugins>
475      </build>
476    </profile>
477    <profile>
478      <id>jdk15</id>
479      <activation>
480        <jdk>1.5</jdk>
481      </activation>
482      <build>
483        <plugins>
484          <plugin>
485            <groupId>org.apache.maven.plugins</groupId>
486            <artifactId>maven-compiler-plugin</artifactId>
487            <configuration>
488              <compilerArgs>
489                <arg>-XDignore.symbol.file</arg>
490              </compilerArgs>
491              <excludes>
492                <exclude>**/Lambda**</exclude>
493                <exclude>**/extended/PathConverter*</exclude>
494                <exclude>**/time/**</exclude>
495                <exclude>**/ISO8601JavaTimeConverter.java</exclude>
496                <exclude>**/Base64JavaUtilCodec.java</exclude>
497                <exclude>**/Base64JAXBCodec.java</exclude>
498              </excludes>
499              <testExcludes>
500                <exclude>**/Lambda**</exclude>
501                <exclude>**/extended/*17Test*</exclude>
502                <exclude>**/Base64JavaUtilCodecTest.java</exclude>
503                <exclude>**/Base64JAXBCodecTest.java</exclude>
504                <exclude>**/acceptance/Extended17TypesTest*</exclude>
505                <exclude>**/acceptance/*18TypesTest.java</exclude>
506              </testExcludes>
507            </configuration>
508          </plugin>
509        </plugins>
510      </build>
511    </profile>
512    <profile>
513      <id>jdk16-ge</id>
514      <activation>
515        <jdk>[1.6,)</jdk>
516      </activation>
517      <build>
518        <plugins>
519          <plugin>
520            <groupId>org.apache.maven.plugins</groupId>
521            <artifactId>maven-jar-plugin</artifactId>
522            <executions>
523              <execution>
524                <id>default-jar</id>
525                <goals>
526                  <goal>jar</goal>
527                </goals>
528                <configuration>
529                  <archive combine.children="append">
530                    <manifestFile>${project.build.directory}/OSGi/MANIFEST.MF</manifestFile>
531                  </archive>
532                </configuration>
533              </execution>
534            </executions>
535          </plugin>
536          <plugin>
537            <groupId>org.apache.maven.plugins</groupId>
538            <artifactId>maven-source-plugin</artifactId>
539          </plugin>
540          <plugin>
541            <groupId>org.apache.felix</groupId>
542            <artifactId>maven-bundle-plugin</artifactId>
543            <configuration>
544              <instructions combine.children="append">
545                <Export-Package>!com.thoughtworks.xstream.core.util,com.thoughtworks.xstream.*;-noimport:=true</Export-Package>
546              </instructions>
547            </configuration>
548          </plugin>
549        </plugins>
550      </build>
551    </profile>
552    <profile>
553      <id>jdk14</id>
554      <activation>
555        <jdk>1.4</jdk>
556      </activation>
557      <build>
558        <plugins>
559          <plugin>
560            <groupId>org.apache.maven.plugins</groupId>
561            <artifactId>maven-compiler-plugin</artifactId>
562            <configuration>
563              <excludes>
564                <exclude>**/Lambda**</exclude>
565                <exclude>**/annotations/*</exclude>
566                <exclude>**/AnnotationMapper*</exclude>
567                <exclude>**/EnumMapper*</exclude>
568                <exclude>**/enums/*</exclude>
569                <exclude>**/time/**</exclude>
570                <exclude>**/ISO8601JavaTimeConverter.java</exclude>
571                <exclude>**/Base64JavaUtilCodec.java</exclude>
572                <exclude>**/Base64JAXBCodec.java</exclude>
573                <exclude>**/basic/StringBuilder*</exclude>
574                <exclude>**/basic/UUID*</exclude>
575                <exclude>**/core/util/Types*</exclude>
576                <exclude>**/reflection/*15*</exclude>
577                <exclude>**/extended/*15*</exclude>
578                <exclude>**/extended/PathConverter*</exclude>
579                <exclude>**/io/xml/JDom2*</exclude>
580              </excludes>
581              <testExcludes>
582                <exclude>**/Lambda**</exclude>
583                <exclude>**/annotations/*</exclude>
584                <exclude>**/enums/*</exclude>
585                <exclude>**/extended/*17Test*</exclude>
586                <exclude>**/reflection/SunLimitedUnsafeReflectionProviderTest*</exclude>
587                <exclude>**/reflection/PureJavaReflectionProvider15Test*</exclude>
588                <exclude>**/Base64JavaUtilCodecTest.java</exclude>
589                <exclude>**/Base64JAXBCodecTest.java</exclude>
590                <exclude>**/io/xml/JDom2*Test*</exclude>
591                <exclude>**/acceptance/Basic15TypesTest*</exclude>
592                <exclude>**/acceptance/Concurrent15TypesTest*</exclude>
593                <exclude>**/acceptance/Extended17TypesTest*</exclude>
594                <exclude>**/acceptance/*18TypesTest.java</exclude>
595              </testExcludes>
596            </configuration>
597          </plugin>
598        </plugins>
599      </build>
600      <dependencies>
601        <dependency>
602          <groupId>xml-apis</groupId>
603          <artifactId>xml-apis</artifactId>
604        </dependency>
605        <dependency>
606          <groupId>xerces</groupId>
607          <artifactId>xercesImpl</artifactId>
608        </dependency>
609      </dependencies>
610      <properties>
611        <version.org.codehaus.jettison>1.0.1</version.org.codehaus.jettison>
612      </properties>
613    </profile>
614  </profiles>
615
616  <reporting>
617    <plugins>
618      <plugin>
619        <groupId>org.apache.maven.plugins</groupId>
620        <artifactId>maven-surefire-report-plugin</artifactId>
621        <version>${version.plugin.maven.surefire}</version>
622      </plugin>
623      <plugin>
624        <groupId>org.jacoco</groupId>
625        <artifactId>jacoco-maven-plugin</artifactId>
626        <version>${version.plugin.jacoco}</version>
627        <reportSets>
628          <reportSet>
629            <reports>
630              <report>report</report>
631            </reports>
632          </reportSet>
633        </reportSets>
634      </plugin>
635    </plugins>
636  </reporting>
637
638  <properties>
639    <bundle.export.package>!com.thoughtworks.xstream.core.util,com.thoughtworks.xstream.*;-noimport:=true</bundle.export.package>
640    <bundle.import.package>
641        org.xmlpull.mxp1;resolution:=optional,
642        org.xmlpull.v1;resolution:=optional,
643        com.ibm.*;resolution:=optional,
644        com.sun.*;resolution:=optional,
645        javax.*;resolution:=optional,
646        org.xml.*;resolution:=optional,
647        sun.*;resolution:=optional,
648        *
649    </bundle.import.package>
650  </properties>
651
652</project>
653