<?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.pdfbox</groupId>
    <artifactId>pdfbox-parent</artifactId>
    <version>4.0.0-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>

  <artifactId>pdfbox-debugger</artifactId>

  <packaging>jar</packaging>
  <name>Apache PDFBox Debugger</name>
  <description>
    The Apache PDFBox library is an open source Java tool for working with PDF documents. 
    This artefact contains the PDFDebugger.
  </description>
  <inceptionYear>2002</inceptionYear>

	<scm>
		<connection>scm:svn:https://svn.apache.org/repos/asf/pdfbox/trunk/debugger</connection>
		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/pdfbox/trunk/debugger</developerConnection>
		<url>https://svn.apache.org/viewvc/pdfbox/trunk/debugger</url>
	</scm>

  <dependencies>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>pdfbox</artifactId>
        <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>info.picocli</groupId>
      <artifactId>picocli</artifactId>
      <version>${picocli.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
   </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>jbig2-imageio</artifactId>
        <version>${jbig2.version}</version>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk18on</artifactId>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <plugins>
        <!-- https://logging.apache.org/log4j/2.x/manual/plugins.html#plugin-registry -->
        <!-- needed since log4j 2.25.0 because of DebugLogAppender.java plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <!-- Enable generation of Log4j Core plugin metadata -->
            <executions>
                <execution>
                    <id>default-compile</id>
                    <configuration>
                        <!--
                        ~ Enables annotation processing
                        ~ This option is only recognized by recent JDK versions:
                        ~ - 11.0.23 or later
                        ~ - 17.0.11 or later
                        -->
                        <proc>full</proc>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>org.apache.logging.log4j</groupId>
                                <artifactId>log4j-core</artifactId>
                            </path>
                        </annotationProcessorPaths>
                        <annotationProcessors>
                            <!-- Generate a `Log4j2Plugins.dat` descriptor -->
                            <annotationProcessor>
                                org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor
                            </annotationProcessor>
                            <!-- Generate GraalVM reachability metadata -->
                            <annotationProcessor>
                                org.apache.logging.log4j.core.config.plugins.processor.GraalVmProcessor
                            </annotationProcessor>
                        </annotationProcessors>
                        <compilerArgs>
                            <!-- Required arguments for GraalVmProcessor -->
                            <arg>-Alog4j.graalvm.groupId=${project.groupId}</arg>
                            <arg>-Alog4j.graalvm.artifactId=${project.artifactId}</arg>
                        </compilerArgs>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestEntries>
                        <Automatic-Module-Name>org.apache.pdfbox.debugger</Automatic-Module-Name>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
  </build>

</project>

