xref: /aosp_15_r20/external/apache-commons-lang/pom.xml (revision 455610af95f3bf5f4bc8a9eda520f57e389a4c42)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Licensed to the Apache Software Foundation (ASF) under one or more
4 contributor license agreements.  See the NOTICE file distributed with
5 this work for additional information regarding copyright ownership.
6 The ASF licenses this file to You under the Apache License, Version 2.0
7 (the "License"); you may not use this file except in compliance with
8 the License.  You may obtain a copy of the License at
9
10      http://www.apache.org/licenses/LICENSE-2.0
11
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17-->
18<project
19  xmlns="http://maven.apache.org/POM/4.0.0"
20  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
22  <parent>
23    <groupId>org.apache.commons</groupId>
24    <artifactId>commons-parent</artifactId>
25    <version>56</version>
26  </parent>
27  <modelVersion>4.0.0</modelVersion>
28  <artifactId>commons-lang3</artifactId>
29  <version>3.13.0-SNAPSHOT</version>
30  <name>Apache Commons Lang</name>
31
32  <inceptionYear>2001</inceptionYear>
33  <description>
34  Apache Commons Lang, a package of Java utility classes for the
35  classes that are in java.lang's hierarchy, or are considered to be so
36  standard as to justify existence in java.lang.
37  </description>
38
39  <url>https://commons.apache.org/proper/commons-lang/</url>
40
41  <issueManagement>
42    <system>jira</system>
43    <url>https://issues.apache.org/jira/browse/LANG</url>
44  </issueManagement>
45
46  <scm>
47    <connection>scm:git:http://gitbox.apache.org/repos/asf/commons-lang.git</connection>
48    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/commons-lang.git</developerConnection>
49    <url>https://gitbox.apache.org/repos/asf?p=commons-lang.git</url>
50    <tag>commons-lang-3.12.0</tag>
51  </scm>
52
53  <developers>
54    <developer>
55      <name>Daniel Rall</name>
56      <id>dlr</id>
57      <email>[email protected]</email>
58      <organization>CollabNet, Inc.</organization>
59      <roles>
60        <role>Java Developer</role>
61      </roles>
62    </developer>
63    <developer>
64      <name>Stephen Colebourne</name>
65      <id>scolebourne</id>
66      <email>[email protected]</email>
67      <organization>SITA ATS Ltd</organization>
68      <timezone>0</timezone>
69      <roles>
70        <role>Java Developer</role>
71      </roles>
72    </developer>
73    <developer>
74      <name>Henri Yandell</name>
75      <id>bayard</id>
76      <email>[email protected]</email>
77      <organization />
78      <roles>
79        <role>Java Developer</role>
80      </roles>
81    </developer>
82    <developer>
83      <name>Steven Caswell</name>
84      <id>scaswell</id>
85      <email>[email protected]</email>
86      <organization />
87      <roles>
88        <role>Java Developer</role>
89      </roles>
90      <timezone>-5</timezone>
91    </developer>
92    <developer>
93      <name>Robert Burrell Donkin</name>
94      <id>rdonkin</id>
95      <email>[email protected]</email>
96      <organization />
97      <roles>
98        <role>Java Developer</role>
99      </roles>
100    </developer>
101    <developer>
102      <id>ggregory</id>
103      <name>Gary Gregory</name>
104      <email>ggregory at apache.org</email>
105      <url>https://www.garygregory.com</url>
106      <organization>The Apache Software Foundation</organization>
107      <organizationUrl>https://www.apache.org/</organizationUrl>
108      <roles>
109        <role>PMC Member</role>
110      </roles>
111      <timezone>America/New_York</timezone>
112      <properties>
113        <picUrl>https://people.apache.org/~ggregory/img/garydgregory80.png</picUrl>
114      </properties>
115    </developer>
116    <developer>
117      <name>Fredrik Westermarck</name>
118      <id>fredrik</id>
119      <email />
120      <organization />
121      <roles>
122        <role>Java Developer</role>
123      </roles>
124    </developer>
125    <developer>
126      <name>James Carman</name>
127      <id>jcarman</id>
128      <email>[email protected]</email>
129      <organization>Carman Consulting, Inc.</organization>
130      <roles>
131        <role>Java Developer</role>
132      </roles>
133    </developer>
134    <developer>
135      <name>Niall Pemberton</name>
136      <id>niallp</id>
137      <roles>
138        <role>Java Developer</role>
139      </roles>
140    </developer>
141    <developer>
142      <name>Matt Benson</name>
143      <id>mbenson</id>
144      <roles>
145        <role>Java Developer</role>
146      </roles>
147    </developer>
148    <developer>
149      <name>Joerg Schaible</name>
150      <id>joehni</id>
151      <email>[email protected]</email>
152      <roles>
153        <role>Java Developer</role>
154      </roles>
155      <timezone>+1</timezone>
156    </developer>
157    <developer>
158      <name>Oliver Heger</name>
159      <id>oheger</id>
160      <email>[email protected]</email>
161      <timezone>+1</timezone>
162      <roles>
163        <role>Java Developer</role>
164      </roles>
165    </developer>
166    <developer>
167      <name>Paul Benedict</name>
168      <id>pbenedict</id>
169      <email>[email protected]</email>
170      <roles>
171        <role>Java Developer</role>
172      </roles>
173    </developer>
174    <developer>
175      <name>Benedikt Ritter</name>
176      <id>britter</id>
177      <email>[email protected]</email>
178      <roles>
179        <role>Java Developer</role>
180      </roles>
181    </developer>
182    <developer>
183      <name>Duncan Jones</name>
184      <id>djones</id>
185      <email>[email protected]</email>
186      <timezone>0</timezone>
187      <roles>
188        <role>Java Developer</role>
189      </roles>
190    </developer>
191    <developer>
192      <name>Loic Guibert</name>
193      <id>lguibert</id>
194      <email>[email protected]</email>
195      <timezone>+4</timezone>
196      <roles>
197        <role>Java Developer</role>
198      </roles>
199    </developer>
200    <developer>
201      <name>Rob Tompkins</name>
202      <id>chtompki</id>
203      <email>[email protected]</email>
204      <timezone>-5</timezone>
205      <roles>
206        <role>Java Developer</role>
207      </roles>
208    </developer>
209  </developers>
210  <contributors>
211    <contributor>
212      <name>C. Scott Ananian</name>
213    </contributor>
214    <contributor>
215      <name>Chris Audley</name>
216    </contributor>
217    <contributor>
218      <name>Stephane Bailliez</name>
219    </contributor>
220    <contributor>
221      <name>Michael Becke</name>
222    </contributor>
223    <contributor>
224      <name>Benjamin Bentmann</name>
225    </contributor>
226    <contributor>
227      <name>Ola Berg</name>
228    </contributor>
229    <contributor>
230      <name>Nathan Beyer</name>
231    </contributor>
232    <contributor>
233      <name>Stefan Bodewig</name>
234    </contributor>
235    <contributor>
236      <name>Janek Bogucki</name>
237    </contributor>
238    <contributor>
239      <name>Mike Bowler</name>
240    </contributor>
241    <contributor>
242      <name>Sean Brown</name>
243    </contributor>
244    <contributor>
245      <name>Alexander Day Chaffee</name>
246    </contributor>
247    <contributor>
248      <name>Al Chou</name>
249    </contributor>
250    <contributor>
251      <name>Greg Coladonato</name>
252    </contributor>
253    <contributor>
254      <name>Maarten Coene</name>
255    </contributor>
256    <contributor>
257      <name>Justin Couch</name>
258    </contributor>
259    <contributor>
260      <name>Michael Davey</name>
261    </contributor>
262    <contributor>
263      <name>Norm Deane</name>
264    </contributor>
265    <contributor>
266      <name>Morgan Delagrange</name>
267    </contributor>
268    <contributor>
269      <name>Ringo De Smet</name>
270    </contributor>
271    <contributor>
272      <name>Russel Dittmar</name>
273    </contributor>
274    <contributor>
275      <name>Steve Downey</name>
276    </contributor>
277    <contributor>
278      <name>Matthias Eichel</name>
279    </contributor>
280    <contributor>
281      <name>Christopher Elkins</name>
282    </contributor>
283    <contributor>
284      <name>Chris Feldhacker</name>
285    </contributor>
286    <contributor>
287      <name>Roland Foerther</name>
288    </contributor>
289    <contributor>
290      <name>Pete Gieser</name>
291    </contributor>
292    <contributor>
293      <name>Jason Gritman</name>
294    </contributor>
295    <contributor>
296      <name>Matthew Hawthorne</name>
297    </contributor>
298    <contributor>
299      <name>Michael Heuer</name>
300    </contributor>
301    <contributor>
302      <name>Chas Honton</name>
303    </contributor>
304    <contributor>
305      <name>Chris Hyzer</name>
306    </contributor>
307    <contributor>
308      <name>Paul Jack</name>
309    </contributor>
310    <contributor>
311      <name>Marc Johnson</name>
312    </contributor>
313    <contributor>
314      <name>Shaun Kalley</name>
315    </contributor>
316    <contributor>
317      <name>Tetsuya Kaneuchi</name>
318    </contributor>
319    <contributor>
320      <name>Nissim Karpenstein</name>
321    </contributor>
322    <contributor>
323      <name>Ed Korthof</name>
324    </contributor>
325    <contributor>
326      <name>Holger Krauth</name>
327    </contributor>
328    <contributor>
329      <name>Rafal Krupinski</name>
330    </contributor>
331    <contributor>
332      <name>Rafal Krzewski</name>
333    </contributor>
334    <contributor>
335      <name>David Leppik</name>
336    </contributor>
337    <contributor>
338      <name>Eli Lindsey</name>
339    </contributor>
340    <contributor>
341      <name>Sven Ludwig</name>
342    </contributor>
343    <contributor>
344      <name>Craig R. McClanahan</name>
345    </contributor>
346    <contributor>
347      <name>Rand McNeely</name>
348    </contributor>
349    <contributor>
350      <name>Hendrik Maryns</name>
351    </contributor>
352    <contributor>
353      <name>Dave Meikle</name>
354    </contributor>
355    <contributor>
356      <name>Nikolay Metchev</name>
357    </contributor>
358    <contributor>
359      <name>Kasper Nielsen</name>
360    </contributor>
361    <contributor>
362      <name>Tim O'Brien</name>
363    </contributor>
364    <contributor>
365      <name>Brian S O'Neill</name>
366    </contributor>
367    <contributor>
368      <name>Andrew C. Oliver</name>
369    </contributor>
370    <contributor>
371      <name>Alban Peignier</name>
372    </contributor>
373    <contributor>
374      <name>Moritz Petersen</name>
375    </contributor>
376    <contributor>
377      <name>Dmitri Plotnikov</name>
378    </contributor>
379    <contributor>
380      <name>Neeme Praks</name>
381    </contributor>
382    <contributor>
383      <name>Eric Pugh</name>
384    </contributor>
385    <contributor>
386      <name>Stephen Putman</name>
387    </contributor>
388    <contributor>
389      <name>Travis Reeder</name>
390    </contributor>
391    <contributor>
392      <name>Antony Riley</name>
393    </contributor>
394    <contributor>
395      <name>Valentin Rocher</name>
396    </contributor>
397    <contributor>
398      <name>Scott Sanders</name>
399    </contributor>
400    <contributor>
401      <name>James Sawle</name>
402    </contributor>
403    <contributor>
404      <name>Ralph Schaer</name>
405    </contributor>
406    <contributor>
407      <name>Henning P. Schmiedehausen</name>
408    </contributor>
409    <contributor>
410      <name>Sean Schofield</name>
411    </contributor>
412    <contributor>
413      <name>Robert Scholte</name>
414    </contributor>
415    <contributor>
416      <name>Reuben Sivan</name>
417    </contributor>
418    <contributor>
419      <name>Ville Skytta</name>
420    </contributor>
421    <contributor>
422      <name>David M. Sledge</name>
423    </contributor>
424    <contributor>
425      <name>Michael A. Smith</name>
426    </contributor>
427    <contributor>
428      <name>Jan Sorensen</name>
429    </contributor>
430    <contributor>
431      <name>Glen Stampoultzis</name>
432    </contributor>
433    <contributor>
434      <name>Scott Stanchfield</name>
435    </contributor>
436    <contributor>
437      <name>Jon S. Stevens</name>
438    </contributor>
439    <contributor>
440      <name>Sean C. Sullivan</name>
441    </contributor>
442    <contributor>
443      <name>Ashwin Suresh</name>
444    </contributor>
445    <contributor>
446      <name>Helge Tesgaard</name>
447    </contributor>
448    <contributor>
449      <name>Arun Mammen Thomas</name>
450    </contributor>
451    <contributor>
452      <name>Masato Tezuka</name>
453    </contributor>
454    <contributor>
455      <name>Daniel Trebbien</name>
456    </contributor>
457    <contributor>
458      <name>Jeff Varszegi</name>
459    </contributor>
460    <contributor>
461      <name>Chris Webb</name>
462    </contributor>
463    <contributor>
464      <name>Mario Winterer</name>
465    </contributor>
466    <contributor>
467      <name>Stepan Koltsov</name>
468    </contributor>
469    <contributor>
470      <name>Holger Hoffstatte</name>
471    </contributor>
472    <contributor>
473      <name>Derek C. Ashmore</name>
474    </contributor>
475    <contributor>
476      <name>Sebastien Riou</name>
477    </contributor>
478    <contributor>
479      <name>Allon Mureinik</name>
480    </contributor>
481    <contributor>
482      <name>Adam Hooper</name>
483    </contributor>
484    <contributor>
485      <name>Chris Karcher</name>
486    </contributor>
487    <contributor>
488      <name>Michael Osipov</name>
489    </contributor>
490    <contributor>
491      <name>Thiago Andrade</name>
492    </contributor>
493    <contributor>
494      <name>Jonathan Baker</name>
495    </contributor>
496    <contributor>
497      <name>Mikhail Mazursky</name>
498    </contributor>
499    <contributor>
500      <name>Fabian Lange</name>
501    </contributor>
502    <contributor>
503      <name>Michał Kordas</name>
504    </contributor>
505    <contributor>
506      <name>Felipe Adorno</name>
507    </contributor>
508    <contributor>
509      <name>Adrian Ber</name>
510    </contributor>
511    <contributor>
512      <name>Mark Dacek</name>
513    </contributor>
514    <contributor>
515      <name>Peter Verhas</name>
516    </contributor>
517    <contributor>
518      <name>Jin Xu</name>
519    </contributor>
520    <contributor>
521      <name>Arturo Bernal</name>
522    </contributor>
523  </contributors>
524
525  <!-- Lang should depend on very little -->
526  <dependencies>
527    <!-- testing -->
528    <dependency>
529      <groupId>org.junit.jupiter</groupId>
530      <artifactId>junit-jupiter</artifactId>
531      <scope>test</scope>
532    </dependency>
533    <dependency>
534      <groupId>org.junit-pioneer</groupId>
535      <artifactId>junit-pioneer</artifactId>
536      <version>1.9.1</version>
537      <scope>test</scope>
538    </dependency>
539    <dependency>
540      <groupId>org.hamcrest</groupId>
541      <artifactId>hamcrest</artifactId>
542      <version>2.2</version>
543      <scope>test</scope>
544    </dependency>
545
546    <dependency>
547      <groupId>org.easymock</groupId>
548      <artifactId>easymock</artifactId>
549      <version>5.1.0</version>
550      <scope>test</scope>
551    </dependency>
552
553    <!-- For Javadoc links -->
554    <dependency>
555      <groupId>org.apache.commons</groupId>
556      <artifactId>commons-text</artifactId>
557      <version>1.10.0</version>
558      <scope>provided</scope>
559    </dependency>
560
561    <dependency>
562      <groupId>org.openjdk.jmh</groupId>
563      <artifactId>jmh-core</artifactId>
564      <version>${jmh.version}</version>
565      <scope>test</scope>
566    </dependency>
567    <dependency>
568      <groupId>org.openjdk.jmh</groupId>
569      <artifactId>jmh-generator-annprocess</artifactId>
570      <version>${jmh.version}</version>
571      <scope>test</scope>
572    </dependency>
573    <dependency>
574      <groupId>com.google.code.findbugs</groupId>
575      <artifactId>jsr305</artifactId>
576      <version>3.0.2</version>
577      <scope>test</scope>
578    </dependency>
579  </dependencies>
580
581  <distributionManagement>
582    <site>
583      <id>apache.website</id>
584      <name>Apache Commons Site</name>
585      <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-lang/</url>
586    </site>
587  </distributionManagement>
588
589  <properties>
590    <argLine>-Xmx512m</argLine>
591    <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
592    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
593    <maven.compiler.source>1.8</maven.compiler.source>
594    <maven.compiler.target>1.8</maven.compiler.target>
595    <!--
596       This is also  used to generate download_xxx file name.
597       To override this when generating the download page:
598
599       mvn commons:download-page -Dcommons.componentid=lang
600
601       The above seems to change the download page name but not any other
602       properties that depend on the componentid.
603
604       N.B. The componentid is also used by the parent pom as part of the OSGI symbolic name.
605    -->
606    <commons.componentid>lang</commons.componentid>
607    <commons.packageId>lang3</commons.packageId>
608    <commons.module.name>org.apache.commons.lang3</commons.module.name>
609    <!-- Current 3.x release series -->
610    <commons.release.version>3.13.0</commons.release.version>
611    <commons.release.desc>(Java 8+)</commons.release.desc>
612    <!-- Previous 2.x release series -->
613    <commons.release.2.version>2.6</commons.release.2.version>
614    <commons.release.2.desc>(Requires Java 1.2 or later)</commons.release.2.desc>
615    <!-- Override generated name -->
616    <commons.release.2.name>commons-lang-${commons.release.2.version}</commons.release.2.name>
617    <commons.jira.id>LANG</commons.jira.id>
618    <commons.jira.pid>12310481</commons.jira.pid>
619
620    <commons.site.path>lang</commons.site.path>
621    <commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-lang</commons.scmPubUrl>
622    <commons.scmPubCheckoutDirectory>site-content</commons.scmPubCheckoutDirectory>
623    <commons.encoding>utf-8</commons.encoding>
624
625    <checkstyle.configdir>src/site/resources/checkstyle</checkstyle.configdir>
626
627    <japicmp.skip>false</japicmp.skip>
628
629    <!-- JMH Benchmark related properties, version, target compiler and name of the benchmarking uber jar. -->
630    <jmh.version>1.36</jmh.version>
631    <uberjar.name>benchmarks</uberjar.name>
632
633    <!-- Commons Release Plugin -->
634    <commons.bc.version>3.12.0</commons.bc.version>
635    <commons.rc.version>RC1</commons.rc.version>
636    <commons.release.isDistModule>true</commons.release.isDistModule>
637    <commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/lang</commons.distSvnStagingUrl>
638    <commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>
639    <commons.releaseManagerKey>86fdc7e2a11262cb</commons.releaseManagerKey>
640  </properties>
641
642  <build>
643   <defaultGoal>clean verify apache-rat:check checkstyle:check japicmp:cmp spotbugs:check pmd:check javadoc:javadoc</defaultGoal>
644   <pluginManagement>
645      <plugins>
646        <plugin>
647          <groupId>org.apache.maven.plugins</groupId>
648          <artifactId>maven-pmd-plugin</artifactId>
649          <version>${commons.pmd.version}</version>
650          <configuration>
651            <targetJdk>${maven.compiler.target}</targetJdk>
652            <excludeFromFailureFile>src/conf/exclude-pmd.properties</excludeFromFailureFile>
653          </configuration>
654        </plugin>
655        <plugin>
656          <groupId>org.apache.rat</groupId>
657          <artifactId>apache-rat-plugin</artifactId>
658          <configuration>
659            <excludes>
660              <exclude>site-content/**</exclude>
661              <exclude>src/site/resources/.htaccess</exclude>
662              <exclude>src/site/resources/download_lang.cgi</exclude>
663              <exclude>src/site/resources/release-notes/RELEASE-NOTES-*.txt</exclude>
664              <exclude>src/test/resources/lang-708-input.txt</exclude>
665            </excludes>
666          </configuration>
667        </plugin>
668      </plugins>
669    </pluginManagement>
670    <plugins>
671      <plugin>
672        <artifactId>maven-javadoc-plugin</artifactId>
673          <configuration>
674            <source>${maven.compiler.source}</source>
675            <quiet>true</quiet>
676            <notimestamp>true</notimestamp>
677            <links>
678              <link>https://commons.apache.org/proper/commons-text/apidocs</link>
679              <link>https://docs.oracle.com/javase/8/docs/api</link>
680              <link>https://docs.oracle.com/javaee/6/api</link>
681            </links>
682            <validateLinks>true</validateLinks>
683            <archive>
684              <manifest>
685                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
686                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
687              </manifest>
688            </archive>
689            <doclint>all</doclint>
690          </configuration>
691          <executions>
692            <execution>
693              <id>create-javadoc-jar</id>
694              <goals>
695                <goal>javadoc</goal>
696                <goal>jar</goal>
697              </goals>
698              <phase>package</phase>
699            </execution>
700          </executions>
701        </plugin>
702      <plugin>
703        <groupId>org.apache.maven.plugins</groupId>
704        <artifactId>maven-surefire-plugin</artifactId>
705        <executions>
706          <execution>
707            <id>plain</id>
708            <configuration>
709              <includes>
710                <include>**/*Test.java</include>
711              </includes>
712              <runOrder>random</runOrder>
713            </configuration>
714          </execution>
715          <!-- <execution> <id>security-manager-test</id> <phase>integration-test</phase> <goals> <goal>test</goal> </goals> <configuration>
716            <includes> <include>**/*Test.java</include> </includes> <argLine>-Djava.security.manager -Djava.security.policy=${basedir}/src/test/resources/java.policy</argLine>
717            </configuration> </execution> -->
718        </executions>
719      </plugin>
720      <plugin>
721        <artifactId>maven-assembly-plugin</artifactId>
722        <configuration>
723          <descriptors>
724            <descriptor>src/assembly/bin.xml</descriptor>
725            <descriptor>src/assembly/src.xml</descriptor>
726          </descriptors>
727          <tarLongFileMode>gnu</tarLongFileMode>
728        </configuration>
729      </plugin>
730      <plugin>
731        <groupId>org.apache.maven.plugins</groupId>
732        <artifactId>maven-jar-plugin</artifactId>
733        <executions>
734          <execution>
735            <goals>
736              <goal>test-jar</goal>
737            </goals>
738          </execution>
739        </executions>
740        <configuration>
741          <archive combine.children="append">
742            <manifestEntries>
743              <Automatic-Module-Name>${commons.module.name}</Automatic-Module-Name>
744            </manifestEntries>
745          </archive>
746        </configuration>
747      </plugin>
748      <plugin>
749        <groupId>org.apache.maven.plugins</groupId>
750        <artifactId>maven-scm-publish-plugin</artifactId>
751        <configuration>
752          <ignorePathsToDelete>
753            <ignorePathToDelete>javadocs</ignorePathToDelete>
754          </ignorePathsToDelete>
755        </configuration>
756      </plugin>
757      <plugin>
758        <artifactId>maven-checkstyle-plugin</artifactId>
759        <configuration>
760          <configLocation>${checkstyle.configdir}/checkstyle.xml</configLocation>
761          <includeTestSourceDirectory>true</includeTestSourceDirectory>
762          <enableRulesSummary>false</enableRulesSummary>
763        </configuration>
764      </plugin>
765      <plugin>
766        <groupId>com.github.spotbugs</groupId>
767        <artifactId>spotbugs-maven-plugin</artifactId>
768        <configuration>
769          <excludeFilterFile>${basedir}/src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
770        </configuration>
771      </plugin>
772    </plugins>
773  </build>
774
775  <reporting>
776    <plugins>
777      <plugin>
778        <artifactId>maven-javadoc-plugin</artifactId>
779        <configuration>
780          <source>${maven.compiler.source}</source>
781          <quiet>true</quiet>
782          <notimestamp>true</notimestamp>
783          <links>
784            <link>https://commons.apache.org/proper/commons-text/apidocs</link>
785            <link>https://docs.oracle.com/javase/8/docs/api</link>
786            <link>https://docs.oracle.com/javaee/6/api</link>
787          </links>
788          <validateLinks>true</validateLinks>
789          <archive>
790            <manifest>
791              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
792              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
793            </manifest>
794          </archive>
795          <doclint>all</doclint>
796        </configuration>
797      </plugin>
798      <plugin>
799        <artifactId>maven-checkstyle-plugin</artifactId>
800        <configuration>
801          <configLocation>${checkstyle.configdir}/checkstyle.xml</configLocation>
802          <includeTestSourceDirectory>true</includeTestSourceDirectory>
803          <enableRulesSummary>false</enableRulesSummary>
804        </configuration>
805        <reportSets>
806          <reportSet>
807            <reports>
808              <report>checkstyle</report>
809            </reports>
810          </reportSet>
811        </reportSets>
812      </plugin>
813      <!-- Requires setting 'export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m" ' -->
814      <plugin>
815        <groupId>com.github.spotbugs</groupId>
816        <artifactId>spotbugs-maven-plugin</artifactId>
817        <configuration>
818          <excludeFilterFile>${basedir}/src/conf/spotbugs-exclude-filter.xml</excludeFilterFile>
819        </configuration>
820      </plugin>
821      <plugin>
822        <groupId>org.apache.maven.plugins</groupId>
823        <artifactId>maven-pmd-plugin</artifactId>
824      </plugin>
825      <plugin>
826        <groupId>org.codehaus.mojo</groupId>
827        <artifactId>taglist-maven-plugin</artifactId>
828        <version>3.0.0</version>
829        <configuration>
830          <tagListOptions>
831            <tagClasses>
832              <tagClass>
833                <displayName>Needs Work</displayName>
834                <tags>
835                  <tag>
836                    <matchString>TODO</matchString>
837                    <matchType>exact</matchType>
838                  </tag>
839                  <tag>
840                    <matchString>FIXME</matchString>
841                    <matchType>exact</matchType>
842                  </tag>
843                  <tag>
844                    <matchString>XXX</matchString>
845                    <matchType>exact</matchType>
846                  </tag>
847                </tags>
848              </tagClass>
849              <tagClass>
850                <displayName>Noteable Markers</displayName>
851                <tags>
852                  <tag>
853                    <matchString>NOTE</matchString>
854                    <matchType>exact</matchType>
855                  </tag>
856                  <tag>
857                    <matchString>NOPMD</matchString>
858                    <matchType>exact</matchType>
859                  </tag>
860                  <tag>
861                    <matchString>NOSONAR</matchString>
862                    <matchType>exact</matchType>
863                  </tag>
864                </tags>
865              </tagClass>
866            </tagClasses>
867          </tagListOptions>
868        </configuration>
869      </plugin>
870    </plugins>
871  </reporting>
872
873  <profiles>
874    <profile>
875      <id>setup-checkout</id>
876      <activation>
877        <file>
878          <missing>site-content</missing>
879        </file>
880      </activation>
881      <build>
882        <plugins>
883          <plugin>
884            <groupId>org.apache.maven.plugins</groupId>
885            <artifactId>maven-antrun-plugin</artifactId>
886            <executions>
887              <execution>
888                <id>prepare-checkout</id>
889                <phase>pre-site</phase>
890                <goals>
891                  <goal>run</goal>
892                </goals>
893                <configuration>
894                  <tasks>
895                    <exec executable="svn">
896                      <arg line="checkout --depth immediates ${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory}" />
897                    </exec>
898
899                    <exec executable="svn">
900                      <arg line="update --set-depth exclude ${commons.scmPubCheckoutDirectory}/javadocs" />
901                    </exec>
902
903                    <pathconvert pathsep=" " property="dirs">
904                      <dirset dir="${commons.scmPubCheckoutDirectory}" includes="*" />
905                    </pathconvert>
906                    <exec executable="svn">
907                      <arg line="update --set-depth infinity ${dirs}" />
908                    </exec>
909                  </tasks>
910                </configuration>
911              </execution>
912            </executions>
913          </plugin>
914        </plugins>
915      </build>
916    </profile>
917
918    <profile>
919      <id>java9+</id>
920      <activation>
921        <jdk>[9,)</jdk>
922      </activation>
923      <properties>
924        <!-- LANG-1265: allow tests to access private fields/methods of java.base classes via reflection -->
925        <!-- LANG-1667: allow tests to access private fields/methods of java.base/java.util such as ArrayList via reflection -->
926        <argLine>-Xmx512m --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED</argLine>
927        <!-- coverall version 4.3.0 does not work with java 9, see https://github.com/trautonen/coveralls-maven-plugin/issues/112 -->
928        <coveralls.skip>true</coveralls.skip>
929      </properties>
930    </profile>
931    <profile>
932      <id>java13+</id>
933      <activation>
934        <jdk>[13,)</jdk>
935      </activation>
936      <properties>
937        <!-- jacoco does not work with java 13 yet -->
938        <jacoco.skip>true</jacoco.skip>
939      </properties>
940    </profile>
941    <profile>
942      <id>java15</id>
943      <activation>
944        <!-- This is ONLY activated for Java 15 -->
945        <jdk>15</jdk>
946      </activation>
947      <build>
948        <plugins>
949          <plugin>
950            <groupId>org.apache.maven.plugins</groupId>
951            <artifactId>maven-surefire-plugin</artifactId>
952            <configuration>
953              <excludes>
954                <exclude>org/apache/commons/lang3/time/Java15BugFastDateParserTest.java</exclude>
955              </excludes>
956            </configuration>
957          </plugin>
958        </plugins>
959      </build>
960    </profile>
961
962    <profile>
963      <id>benchmark</id>
964      <properties>
965        <skipTests>true</skipTests>
966        <benchmark>org.apache</benchmark>
967      </properties>
968      <build>
969        <plugins>
970          <plugin>
971            <groupId>org.codehaus.mojo</groupId>
972            <artifactId>exec-maven-plugin</artifactId>
973            <version>3.1.0</version>
974            <executions>
975              <execution>
976                <id>benchmark</id>
977                <phase>test</phase>
978                <goals>
979                  <goal>exec</goal>
980                </goals>
981                <configuration>
982                  <classpathScope>test</classpathScope>
983                  <executable>java</executable>
984                  <arguments>
985                    <argument>-classpath</argument>
986                    <classpath/>
987                    <argument>org.openjdk.jmh.Main</argument>
988                    <argument>-rf</argument>
989                    <argument>json</argument>
990                    <argument>-rff</argument>
991                    <argument>target/jmh-result.${benchmark}.json</argument>
992                    <argument>${benchmark}</argument>
993                  </arguments>
994                </configuration>
995              </execution>
996            </executions>
997          </plugin>
998        </plugins>
999      </build>
1000    </profile>
1001  </profiles>
1002</project>
1003