<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>

  <groupId>org.apache.xmlgraphics</groupId>
  <artifactId>fop-parent</artifactId>
  <version>2.5.0-SNAPSHOT</version>
  <name>Apache FOP Parent</name>
  <description>XML Graphics Format Object Processor</description>
  <packaging>pom</packaging>
  <url>http://xmlgraphics.apache.org/fop/</url>

  <properties>
    <antrun.plugin.version>1.8</antrun.plugin.version>
    <batik.version>1.11.0-SNAPSHOT</batik.version>
    <build.helper.plugin.version>1.9.1</build.helper.plugin.version>
    <checkstyle.plugin.version>2.14</checkstyle.plugin.version>
    <commons.io.version>1.3.1</commons.io.version>
    <commons.logging.version>1.0.4</commons.logging.version>
    <compiler.plugin.version>3.1</compiler.plugin.version>
    <exec.plugin.version>1.4.0</exec.plugin.version>
    <findbugs.plugin.version>3.0.4</findbugs.plugin.version>
    <jar.plugin.version>3.1.1</jar.plugin.version>
    <java.version>1.7</java.version>
    <junit.version>4.11</junit.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.info.reports.plugin.version>2.8</project.info.reports.plugin.version>
    <release.plugin.version>2.5.2</release.plugin.version>
    <surefire.plugin.version>2.18.1</surefire.plugin.version>
    <war.plugin.version>2.2</war.plugin.version>
    <xml.plugin.version>1.0.1</xml.plugin.version>
    <xmlgraphics.commons.version>2.4.0-SNAPSHOT</xmlgraphics.commons.version>
    <xmlunit.version>1.2</xmlunit.version>
    <jdk.path>${env.JAVA_HOME}</jdk.path>
  </properties>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
  </organization>

  <modules>
    <module>fop</module>
    <module>fop-core</module>
    <module>fop-events</module>
    <module>fop-sandbox</module>
    <module>fop-servlet</module>
    <module>fop-transcoder</module>
    <module>fop-transcoder-allinone</module>
    <module>fop-util</module>
  </modules>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <tags>
              <tag>
                <name>event.severity</name>
              </tag>
            </tags>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${checkstyle.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${compiler.plugin.version}</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <executable>${jdk.path}/bin/javac</executable>
            <fork>true</fork>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${jar.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${project.info.reports.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${surefire.plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/</connection>
    <url>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk/</url>
    <developerConnection></developerConnection>
  </scm>

  <repositories>
    <repository>
      <id>apache.snapshots.https</id>
      <url>https://repository.apache.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>apache.releases.https</id>
      <url>https://repository.apache.org/content/repositories/releases</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>jboss.org</id>
      <url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
    </repository>
  </repositories>

  <distributionManagement>
    <site>
      <id>${project.artifactId}-site</id>
      <url>${project.baseUri}</url>
    </site>
  </distributionManagement>

</project>
