<?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>16</version>
    <relativePath />
  </parent>

  <groupId>org.apache.pdfbox</groupId>
  <artifactId>pdfbox-parent</artifactId>
  <version>1.8.18-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>ISO-8859-1</project.build.sourceEncoding>
      <bouncycastle.version>1.44</bouncycastle.version>
  </properties>

  <dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>org.bouncycastle</groupId>
              <artifactId>bcprov-jdk15</artifactId>
              <version>${bouncycastle.version}</version>
          </dependency>
          <dependency>
              <groupId>org.bouncycastle</groupId>
              <artifactId>bcmail-jdk15</artifactId>
              <version>${bouncycastle.version}</version>
          </dependency>
          <dependency>
              <groupId>com.ibm.icu</groupId>
              <artifactId>icu4j</artifactId>
              <version>62.1</version>
              <!-- latest version that works with jdk 1.6
              https://unicode-org.github.io/icu/userguide/icu4j-readme.html
              "ICU4J since version 63 depend on J2SE 7 functionality"
              -->
              <scope>provided</scope>
          </dependency>
          <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>4.13.2</version>
              <scope>test</scope>
          </dependency>
      </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <id>pedantic</id>
      <build>
        <plugins>
          <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>5.3.2</version>
              <configuration>
                  <failBuildOnAnyVulnerability>false</failBuildOnAnyVulnerability>
                  <suppressionFile>suppressions.xml</suppressionFile>
                  <!-- 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>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <target>1.5</target>
          <source>1.5</source>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <links>
            <link>https://docs.oracle.com/javase/1.5.0/docs/api/</link>
          </links>
        </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.codehaus.mojo</groupId>
            <artifactId>animal-sniffer-maven-plugin</artifactId>
            <version>1.22</version>
            <configuration>
              <skip>${skipTests}</skip>
              <signature>
                <groupId>org.codehaus.mojo.signature</groupId>
                <artifactId>java15</artifactId>
                <version>1.0</version>
              </signature>
            </configuration>
            <executions>
              <execution>
                 <id>check-java-compatibility</id>
                 <phase>test</phase>
                 <goals>
                   <goal>check</goal>
                 </goals>
               </execution>
             </executions>
        </plugin>    
    </plugins>
    <pluginManagement>
      <plugins>
          <plugin>
              <artifactId>maven-enforcer-plugin</artifactId>
              <executions>
                  <execution>
                      <goals>
                          <goal>enforce</goal>
                      </goals>
                      <configuration>
                          <rules combine.children="append">
                              <requireMavenVersion>
                                  <version>3.1</version>
                              </requireMavenVersion>
                          </rules>    
                      </configuration>
                  </execution>
              </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <version>0.14</version>
            <configuration>
              <excludes>
                <exclude>release.properties</exclude>
              </excludes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>2.5.4</version>
          </plugin>
          <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
          <plugin>
          	<groupId>org.eclipse.m2e</groupId>
          	<artifactId>lifecycle-mapping</artifactId>
          	<version>1.0.0</version>
          	<configuration>
          		<lifecycleMappingMetadata>
          			<pluginExecutions>
          				<pluginExecution>
          					<pluginExecutionFilter>
          						<groupId>
          							org.apache.maven.plugins
          						</groupId>
          						<artifactId>
          							maven-antrun-plugin
          						</artifactId>
          						<versionRange>[1.6,)</versionRange>
          						<goals>
          							<goal>run</goal>
          						</goals>
          					</pluginExecutionFilter>
          					<action>
          						<ignore />
          					</action>
          				</pluginExecution>
          			</pluginExecutions>
          		</lifecycleMappingMetadata>
          	</configuration>
          </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>leleueri</id>
        <name>Eric Leleu</name>
        <roles>
          <role>PMC Member (emeritus)</role>
        </roles>
    </developer>
    <developer>
        <id>gbailleul</id>
        <name>Guillaume Bailleul</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>koch</id>
        <name>Johannes Koch</name>
        <roles>
          <role>PMC Member</role>
        </roles>
    </developer>
    <developer>
        <id>jukka</id>
        <name>Jukka Zitting</name>
        <roles>
          <role>PMC Member (emeritus)</role>
        </roles>
    </developer>
    <developer>
        <id>kjackson</id>
        <name>Kevin Jackson</name>
        <roles>
          <role>PMC Member</role>
        </roles>
    </developer>
    <developer>
        <id>msayhoun</id>
        <name>Maruan Sayhoun</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>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>vfed</id>
        <name>Villu Ruusmann</name>
        <roles>
          <role>PMC Member</role>
        </roles>
    </developer>
  </developers>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/pom/branches/1.8/pdfbox-parent</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/pom/branches/1.8/pdfbox-parent</developerConnection>
    <url>http://svn.apache.org/viewvc/maven/pom/branches/1.8/pdfbox-parent</url>
  </scm>
</project>
