blob: 0608dd7e8132757e742485b2d4f89842ddc14869 [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>32</version>
<relativePath />
</parent>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-parent</artifactId>
<packaging>pom</packaging>
<version>4.0.0-SNAPSHOT</version>
<name>Apache PDFBox parent</name>
<inceptionYear>2002</inceptionYear>
<organization>
<name>The Apache Software Foundation</name>
<url>https://pdfbox.apache.org</url>
</organization>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/PDFBOX</url>
</issueManagement>
<scm>
<connection>scm:svn:https://svn.apache.org/repos/asf/pdfbox/trunk</connection>
<developerConnection>scm:svn:https://svn.apache.org/repos/asf/pdfbox/trunk</developerConnection>
<url>https://svn.apache.org/viewvc/pdfbox/trunk</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<bouncycastle.version>1.78.1</bouncycastle.version>
<log4j2.version>2.23.1</log4j2.version>
<junit.version>5.10.2</junit.version>
<jbig2.version>3.0.4</jbig2.version>
<jai.version>1.4.0</jai.version>
<commons-io.version>2.16.1</commons-io.version>
<picocli.version>4.7.5</picocli.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 />
<!-- needed here since apache 32 -->
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.release>11</maven.compiler.release>
</properties>
<modules>
<module>io</module>
<module>fontbox</module>
<module>xmpbox</module>
<module>pdfbox</module>
<module>debugger</module>
<module>tools</module>
<module>app</module>
<module>debugger-app</module>
<module>examples</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- not used directly, updated to have less output from versions plugin -->
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.12</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>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<sourcepath>src/main/java</sourcepath>
<links>
<link>https://docs.oracle.com/en/java/javase/11/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-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.9.0</version>
<configuration>
<skip>${skipTests}</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.4.1</version>
<executions>
<execution>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules combine.children="append">
<requireMavenVersion>
<version>3.6.3</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.16.1</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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<profiles>
<profile>
<id>apache-release</id>
<properties>
<!-- needs to exist even if empty due to problems with jacoco-maven-plugin -->
<addmod />
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<finalName>pdfbox-${project.version}</finalName>
<skipAssembly>false</skipAssembly>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>deploy</phase>
<configuration>
<target name="prepare-release">
<mkdir dir="${basedir}/target/${project.version}" />
<copy todir="${basedir}/target/${project.version}" flatten="true">
<fileset dir="${basedir}/..">
<include name="RELEASE-NOTES.txt" />
<include name="release/target/*-src.zip*" />
<include name="io/target/*-${project.version}.jar*" />
<include name="fontbox/target/*-${project.version}.jar*" />
<include name="pdfbox/target/*-${project.version}.jar*" />
<include name="xmpbox/target/*-${project.version}.jar*" />
<include name="debugger/target/*-${project.version}.jar*" />
<include name="tools/target/*-${project.version}.jar*" />
<include name="app/target/*-${project.version}.jar*" />
<include name="debugger-app/target/*-${project.version}.jar*" />
</fileset>
</copy>
<checksum algorithm="SHA-512" fileext=".sha512">
<fileset dir="${basedir}/target/${project.version}">
<include name="*.zip" />
<include name="*.jar" />
</fileset>
</checksum>
<checksum file="${basedir}/target/${project.version}/pdfbox-${project.version}-src.zip" algorithm="SHA-512" property="checksum" />
<echo file="${basedir}/target/vote.txt">
From: ${username}@apache.org
To: dev@pdfbox.apache.org
Subject: [VOTE] Release Apache PDFBox ${project.version}
A candidate for the PDFBox ${project.version} release is available at:
https://dist.apache.org/repos/dist/dev/pdfbox/${project.version}/
The release candidate is a zip archive of the sources in:
https://svn.apache.org/repos/asf/pdfbox/tags/${project.version}/
The SHA-512 checksum of the archive is ${checksum}.
Please vote on releasing this package as Apache PDFBox ${project.version}.
The vote is open for the next 72 hours and passes if a majority of at
least three +1 PDFBox PMC votes are cast.
[ ] +1 Release this package as Apache PDFBox ${project.version}
[ ] -1 Do not release this package because...${line.separator}
</echo>
<echo />
<echo>
The release candidate has been prepared in:
${basedir}/target/${project.version}
Please commit it to
https://dist.apache.org/repos/dist/dev/pdfbox/${project.version}/
A release vote template has been generated for you:
file://${basedir}/target/vote.txt
</echo>
<echo />
</target>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</profile>
<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>
<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>9.1.0</version>
<configuration>
<failBuildOnCVSS>0</failBuildOnCVSS>
<!-- 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>
<!-- 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>
</project>