<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-core</artifactId>
  <name>Apache FOP Core</name>
  <description>XML Graphics Format Object Processor</description>

  <parent>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>fop-parent</artifactId>
    <version>2.5.0-SNAPSHOT</version>
  </parent>

  <properties>
    <fop.hyph.version>2.0</fop.hyph.version>
  </properties>
    
  <dependencies>
    <!-- batik deps -->
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>batik-anim</artifactId>
      <version>${batik.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>batik-awt-util</artifactId>
      <version>${batik.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>batik-bridge</artifactId>
      <version>${batik.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>batik-extension</artifactId>
      <version>${batik.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>batik-gvt</artifactId>
      <version>${batik.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>batik-transcoder</artifactId>
      <version>${batik.version}</version>
    </dependency>
    <!-- fop deps -->
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>fop-events</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>fop-util</artifactId>
      <version>${project.version}</version>
    </dependency>
    <!-- xgc deps -->
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>xmlgraphics-commons</artifactId>
      <version>${xmlgraphics.commons.version}</version>
    </dependency>
    <!-- xmlgraphics external deps -->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons.io.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>${commons.logging.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.ant</groupId>
      <artifactId>ant</artifactId>
      <version>${ant.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>fontbox</artifactId>
      <version>2.0.16</version>
    </dependency>
    <dependency>
      <groupId>javax.media</groupId>
      <artifactId>jai-core</artifactId>
      <version>1.1.3</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.sun.media</groupId>
      <artifactId>jai-codec</artifactId>
      <version>1.1.3</version>
      <scope>provided</scope>
    </dependency>
    <!-- test deps -->
    <dependency>
      <groupId>net.sf.offo</groupId>
      <artifactId>fop-hyph</artifactId>
      <version>${fop.hyph.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>1.8.5</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>xmlunit</groupId>
      <artifactId>xmlunit</artifactId>
      <version>${xmlunit.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>pdfbox</artifactId>
      <version>2.0.16</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <!-- generate base14 font class sources -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>${xml.plugin.version}</version>
        <executions>
          <execution>
            <id>generate-base14-fonts</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>transform</goal>
            </goals>
            <configuration>
              <transformationSets>
                <transformationSet>
                  <dir>${project.basedir}/src/main/codegen/fonts</dir>
                  <fileMappers>
                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                      <targetExtension>.java</targetExtension>
                    </fileMapper>
                  </fileMappers>
                  <includes>
                    <include>Courier*.xml</include>
                    <include>Helvetica*.xml</include>
                    <include>Times*.xml</include>
                  </includes>
                  <parameters>
                    <parameter>
                      <name>encoding</name>
                      <value>WinAnsiEncoding</value>
                    </parameter>
                  </parameters>
                  <outputDir>${project.build.directory}/generated-sources/main/java/org/apache/fop/fonts/base14</outputDir>
                  <stylesheet>${project.basedir}/src/main/codegen/fonts/font-file.xsl</stylesheet>
                </transformationSet>
                <transformationSet>
                  <dir>${project.basedir}/src/main/codegen/fonts</dir>
                  <fileMappers>
                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
                      <targetExtension>.java</targetExtension>
                    </fileMapper>
                  </fileMappers>
                  <includes>
                    <include>Symbol.xml</include>
                    <include>ZapfDingbats.xml</include>
                  </includes>
                  <outputDir>${project.build.directory}/generated-sources/main/java/org/apache/fop/fonts/base14</outputDir>
                  <stylesheet>${project.basedir}/src/main/codegen/fonts/font-file.xsl</stylesheet>
                </transformationSet>
              </transformationSets>
            </configuration>
          </execution>
          <execution>
            <id>codegen-fonts-encodings</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>transform</goal>
            </goals>
            <configuration>
              <transformationSets>
                <transformationSet>
                  <dir>${project.basedir}/src/main/codegen/fonts</dir>
                  <fileMappers>
                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper">
                      <targetName>CodePointMapping.java</targetName>
                    </fileMapper>
                  </fileMappers>
                  <includes>
                    <include>encodings.xml</include>
                  </includes>
                  <outputDir>${project.build.directory}/generated-sources/main/java/org/apache/fop/fonts</outputDir>
                  <stylesheet>${project.basedir}/src/main/codegen/fonts/code-point-mapping.xsl</stylesheet>
                </transformationSet>
              </transformationSets>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>net.sf.saxon</groupId>
            <artifactId>saxon</artifactId>
            <version>8.7</version>
          </dependency>
        </dependencies>
      </plugin>
      <!-- add generate base14 font class sources to source set -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${build.helper.plugin.version}</version>
        <executions>
          <execution>
            <id>add-generated-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/main/java</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- generate event collector models -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>${antrun.plugin.version}</version>
        <executions>
          <execution>
            <id>codegen-events</id>
            <phase>process-classes</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <taskdef name="collectEvents" classname="org.apache.fop.tools.EventProducerCollectorTask" classpathref="maven.compile.classpath"/>
                <collectEvents destdir="${project.build.outputDirectory}">
                  <fileset dir="${project.basedir}/src/main/java">
                    <include name="**/accessibility/AccessibilityEventProducer.java"/>
                    <include name="**/afp/AFPEventProducer.java"/>
                    <include name="**/area/AreaEventProducer.java"/>
                    <include name="**/fo/flow/table/TableEventProducer.java"/>
                    <include name="**/fo/FOValidationEventProducer.java"/>
                    <include name="**/fonts/FontEventProducer.java"/>
                    <include name="**/layoutmgr/BlockLevelEventProducer.java"/>
                    <include name="**/layoutmgr/inline/InlineLevelEventProducer.java"/>
                    <include name="**/render/bitmap/BitmapRendererEventProducer.java"/>
                    <include name="**/render/pcl/PCLEventProducer.java"/>
                    <include name="**/render/pdf/extensions/PDFExtensionEventProducer.java"/>
                    <include name="**/render/pdf/PDFEventProducer.java"/>
                    <include name="**/render/ps/PSEventProducer.java"/>
                    <include name="**/render/RendererEventProducer.java"/>
                    <include name="**/render/rtf/RTFEventProducer.java"/>
                    <include name="**/ResourceEventProducer.java"/>
                    <include name="**/svg/SVGEventProducer.java"/>
                  </fileset>
                </collectEvents>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- junit testing -->
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${surefire.plugin.version}</version><!--$NO-MVN-MAN-VER$-->
        <configuration>
          <includes>
            <include>**/*TestCase.java</include>
          </includes>
          <redirectTestOutputToFile>true</redirectTestOutputToFile>
          <workingDirectory>../fop</workingDirectory>
        </configuration>
      </plugin>
      <!-- code analysis - checkstyle -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>${project.baseUri}src/tools/resources/checkstyle/checkstyle.xml</configLocation>
          <headerLocation>${project.baseUri}src/tools/resources/checkstyle/LICENSE.txt</headerLocation>
          <includeResources>false</includeResources>
          <includeTestResources>false</includeTestResources>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <linkXRef>false</linkXRef>
          <logViolationsToConsole>true</logViolationsToConsole>
          <suppressionsLocation>${project.baseUri}src/tools/resources/checkstyle/suppressions.xml</suppressionsLocation>
          <violationSeverity>warning</violationSeverity>
        </configuration>
      </plugin>
      <!-- code analysis - checkstyle -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>${findbugs.plugin.version}</version>
        <configuration>
          <excludeFilterFile>src/tools/resources/findbugs/exclusions.xml</excludeFilterFile>
          <effort>Max</effort>
          <threshold>Low</threshold>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
      <resource>
        <directory>${basedir}/..</directory>
        <includes>
          <include>LICENSE</include>
          <include>NOTICE</include>
        </includes>
        <targetPath>META-INF</targetPath>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*</include>
        </includes>
      </testResource>
    </testResources>
  </build>

  <profiles>
    <profile>
    <id>runFindbugs</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>${findbugs.plugin.version}</version>
            <configuration>
              <excludeFilterFile>src/tools/resources/findbugs/exclusions.xml</excludeFilterFile>
              <effort>Max</effort>
              <threshold>Low</threshold>
            </configuration>
            <executions>
              <execution>
                <id>verify</id>
                <phase>verify</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
