<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.fasterxml</groupId>
    <artifactId>oss-parent</artifactId>
    <version>68</version>
  </parent>

  <artifactId>aalto-xml</artifactId>
  <version>1.3.4</version>
  <packaging>bundle</packaging>
  <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>

  <name>aalto-xml</name>
  <description>Ultra-high performance non-blocking XML processor (Stax/Stax2, SAX/SAX2)
  </description>

  <url>https://github.com/FasterXML/aalto-xml</url>
  <scm>
    <connection>scm:git:git@github.com:FasterXML/aalto-xml.git</connection>
    <developerConnection>scm:git:git@github.com:FasterXML/aalto-xml.git</developerConnection>
    <url>http://github.com/FasterXML/aalto-xml</url>
    <tag>aalto-xml-1.3.4</tag>
  </scm>

  <properties>
    <!-- 05-Mar-2019, tatu: We can still produce JDK 1.6 compatible jar, but must
          build with JDK 8. This for Aalto 1.2.
          Will probably raise minimum JDK to JDK 8 relatively soon.
      -->
    <java.version>1.6</java.version>
    
    <javac.src.version>${java.version}</javac.src.version>
    <javac.target.version>${java.version}</javac.target.version>

    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>

    <!--
     | Configuration properties for the OSGi maven-bundle-plugin
    -->
    <osgi.export>${project.groupId}.aalto.*;version=${project.version}</osgi.export>
    <osgi.import>javax.xml, javax.xml.namespace, javax.xml.parsers,
javax.xml.stream, javax.xml.stream.util,
javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream,
org.codehaus.stax2, org.codehaus.stax2.io, org.codehaus.stax2.ri, org.codehaus.stax2.typed,
org.codehaus.stax2.validation,
org.codehaus.stax2.ri.dom, org.codehaus.stax2.ri.evt, org.codehaus.stax2.ri.typed,
org.w3c.dom,
org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</osgi.import>
  </properties>

  <dependencies>
    <!--
     | Not much; just APIs we implement
     | note: we do need Stax2 api (javax.xml.stream); but
     | it comes with JDK 1.6, which is baseline for Aalto
    -->
    <dependency>
      <groupId>org.codehaus.woodstox</groupId>
      <artifactId>stax2-api</artifactId>
      <version>4.2.2</version>
    </dependency>
    <!--
     | Test dependencies
    -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${version.junit}</version>
      <scope>test</scope>
    </dependency>

    <!-- since 1.1, may start test validation; need Woodstox for that -->
    <dependency>
      <groupId>com.fasterxml.woodstox</groupId>
      <artifactId>woodstox-core</artifactId>
      <version>6.7.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <!-- 26-Sep-2025, tatu: Ensure we use new Sonatype Central Portal: -->
      <plugin>
        <groupId>org.sonatype.central</groupId>
        <artifactId>central-publishing-maven-plugin</artifactId>
      </plugin>

      <!--  04-Mar-2019, tatu: Add rudimentary JDK9+ module info. To build with JDK 8
             will have to use `moduleInfoFile` which is not optimal but anything else
            requires  JDK 9+.
        -->
      <plugin>
        <groupId>org.moditect</groupId>
        <artifactId>moditect-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-module-infos</id>
            <phase>package</phase>
            <goals>
              <goal>add-module-info</goal>
            </goals>
            <configuration>
              <overwriteExistingFiles>true</overwriteExistingFiles>
              <module>
                <moduleInfoFile>src/moditect/module-info.java</moduleInfoFile>
              </module>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- 07-Jun-2024, tatu: JaCoCo for code coverage -->
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>report</id>
            <phase>test</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
