blob: d7599cb02dad754377352514e8f302885b9c171b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
! Licensed to the Apache Software Foundation (ASF) under one or more
! contributor license agreements. See the NOTICE file distributed with
! this work for additional information regarding copyright ownership.
! The ASF licenses this file to You 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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>29</version>
<relativePath />
</parent>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-parent</artifactId>
<version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>PDFBox parent</name>
<inceptionYear>2002</inceptionYear>
<organization>
<name>The Apache Software Foundation</name>
<url>http://pdfbox.apache.org</url>
</organization>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/PDFBOX</url>
</issueManagement>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<bouncycastle.version>1.73</bouncycastle.version>
<log4j2.version>2.20.0</log4j2.version>
<!-- This is a default value to avoid problems when running single tests
see also https://stackoverflow.com/a/28695766/535646
https://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation
-->
<surefireArgLine />
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.12.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>jbig2-imageio</artifactId>
<version>3.0.4</version>
<scope>test</scope>
</dependency>
<!-- For legal reasons (incompatible license), these two dependencies
are to be used only in the tests and may not be distributed.
See also LEGAL-195 -->
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>1.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-jpeg2000</artifactId>
<version>1.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.7.4</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- needs to exist even if empty due to problems with jacoco-maven-plugin -->
<addmod />
</properties>
</profile>
<!-- call mvn with -Pjdk9 or call with -Daddmod="...." -->
<profile>
<id>jdk9</id>
<!--
allows automatic activation when jdk9 or jdk10 are used
https://maven.apache.org/guides/introduction/introduction-to-profiles.html
https://maven.apache.org/enforcer/enforcer-rules/versionRanges.html
-->
<activation>
<jdk>[9,10]</jdk>
</activation>
<properties>
<!-- needs to exist even if empty due to problems with jacoco-maven-plugin -->
<addmod />
</properties>
</profile>
<!-- need to specify release version so that if PDFBox is built with
&gt; Java 8, it can still be run with e.g. Java 6; PDFBOX-4715 -->
<profile>
<id>jdkGte9</id>
<activation>
<jdk>[1.9,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jdk11</id>
<activation>
<jdk>[11,)</jdk>
</activation>
<properties>
<!-- needs to exist even if empty due to problems with jacoco-maven-plugin -->
<addmod />
</properties>
</profile>
<profile>
<id>pedantic</id>
<properties>
<!-- needs to exist even if empty due to problems with jacoco-maven-plugin -->
<addmod />
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<!-- we don't want to DoS the TSA server, thus we test this only in pedantic mode -->
<org.apache.pdfbox.examples.pdmodel.tsa>http://time.certum.pl</org.apache.pdfbox.examples.pdmodel.tsa>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>8.2.1</version>
<configuration>
<failBuildOnAnyVulnerability>true</failBuildOnAnyVulnerability>
<!-- https://github.com/jeremylong/DependencyCheck/issues/1574 -->
<skipSystemScope>true</skipSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.10</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>surefireArgLine</propertyName>
</configuration>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>${addmod} @{surefireArgLine}</argLine>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<showDeprecation>true</showDeprecation>
<target>1.8</target>
<source>1.8</source>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>1.8</source>
<links>
<link>https://docs.oracle.com/javase/8/docs/api/</link>
</links>
<encoding>UTF-8</encoding>
<notimestamp>true</notimestamp>
<locale>en</locale>
</configuration>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<arguments>-Papache-release,pedantic</arguments>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.23</version>
<executions>
<execution>
<id>check-java-version</id>
<phase>test</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<skip>${skipTests}</skip>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java18</artifactId>
<version>1.0</version>
</signature>
<ignores>
<ignore>java.lang.invoke.MethodHandle</ignore>
</ignores>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.7.0</version>
<configuration>
<skip>${skipTests}</skip>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules combine.children="append">
<requireMavenVersion>
<version>3.5</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.15</version>
<configuration>
<excludes>
<exclude>release.properties</exclude>
<exclude>.github/workflows/codeql-analysis.yml</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>5.1.9</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<!-- Developers listed by PMC Chair, PMC all alphabetical-->
<developers>
<developer>
<id>lehmi</id>
<name>Andreas Lehmkühler</name>
<roles>
<role>PMC Chair</role>
</roles>
</developer>
<developer>
<id>adam</id>
<name>Adam Nichols</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>blitchfield</id>
<name>Ben Litchfield</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>carrier</id>
<name>Brian Carrier</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>danielwilson</id>
<name>Daniel Wilson</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>gbailleul</id>
<name>Guillaume Bailleul</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>hennejg</id>
<name>Jörg Henne</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>holdersn</id>
<name>Sebastian Holder</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>jahewson</id>
<name>John Hewson</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>jeremias</id>
<name>Jeremias Maerki</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>kjackson</id>
<name>Kevin Jackson</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>koch</id>
<name>Johannes Koch</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>koehlecn</id>
<name>Carolin Köhler</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>mmayer</id>
<name>Matthäus Mayer</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>msahyoun</id>
<name>Maruan Sahyoun</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>pkoch</id>
<name>Phillipp Koch</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>tallison</id>
<name>Tim Allison</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>tchojecki</id>
<name>Thomas Chojecki</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>tboehme</id>
<name>Timo Boehme</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>tilman</id>
<name>Tilman Hausherr</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>vfed</id>
<name>Villu Ruusmann</name>
<roles>
<role>PMC Member</role>
</roles>
</developer>
<developer>
<id>leleueri</id>
<name>Eric Leleu</name>
<roles>
<role>Emeritus PMC Member</role>
</roles>
</developer>
<developer>
<id>jukka</id>
<name>Jukka Zitting</name>
<roles>
<role>Emeritus PMC Member</role>
</roles>
</developer>
</developers>
<scm>
<connection>scm:svn:http://svn.apache.org/repos/asf/pdfbox/trunk</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/pdfbox/trunk</developerConnection>
<url>http://svn.apache.org/viewvc/pdfbox/trunk</url>
</scm>
</project>