<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.jpmml</groupId>
  <artifactId>jpmml-sparkml</artifactId>
  <version>3.3.3</version>
  <packaging>pom</packaging>
  <name>JPMML-SparkML</name>
  <description>Java library and command-line application for converting Apache Spark ML pipelines to PMML</description>
  <url>https://github.com/jpmml/jpmml-sparkml</url>
  <licenses>
    <license>
      <name>GNU Affero General Public License (AGPL) version 3.0</name>
      <url>http://www.gnu.org/licenses/agpl-3.0.html</url>
    </license>
  </licenses>
  <developers>
    <developer>
      <id>villu.ruusmann</id>
      <name>Villu Ruusmann</name>
    </developer>
  </developers>
  <scm child.scm.connection.inherit.append.path="false" child.scm.developerConnection.inherit.append.path="false" child.scm.url.inherit.append.path="false">
    <connection>scm:git:git@github.com:jpmml/jpmml-sparkml.git</connection>
    <developerConnection>scm:git:git@github.com:jpmml/jpmml-sparkml.git</developerConnection>
    <tag>3.3.3</tag>
    <url>https://github.com/jpmml/jpmml-sparkml.git</url>
  </scm>
  <issueManagement>
    <system>GitHub</system>
    <url>https://github.com/jpmml/jpmml-sparkml/issues</url>
  </issueManagement>
  <properties>
    <scala.binary.version>2.13</scala.binary.version>
    <jpmml-xgboost.version>1.9.6</jpmml-xgboost.version>
    <jpmml-evaluator.version>1.7.7</jpmml-evaluator.version>
    <xgboost4j-spark.version>[2.1.0, 3.1.1]</xgboost4j-spark.version>
    <synapseml-lightgbm.version>[0.9.5, 1.1.2]</synapseml-lightgbm.version>
    <jpmml-converter.version>1.6.9</jpmml-converter.version>
    <java.version>17</java.version>
    <spark.version>4.1.0</spark.version>
    <project.build.outputTimestamp>2026-04-11T07:33:12Z</project.build.outputTimestamp>
    <scala.version>2.13.17</scala.version>
    <jpmml-lightgbm.version>1.6.5</jpmml-lightgbm.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-sparkml</artifactId>
        <version>3.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-sparkml-evaluator</artifactId>
        <version>3.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-sparkml-example</artifactId>
        <version>3.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-sparkml-lightgbm</artifactId>
        <version>3.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-sparkml-xgboost</artifactId>
        <version>3.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-converter</artifactId>
        <version>${jpmml-converter.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-converter-testing</artifactId>
        <version>${jpmml-converter.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-evaluator</artifactId>
        <version>${jpmml-evaluator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-evaluator-testing</artifactId>
        <version>${jpmml-evaluator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-lightgbm</artifactId>
        <version>${jpmml-lightgbm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>pmml-xgboost</artifactId>
        <version>${jpmml-xgboost.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jpmml</groupId>
        <artifactId>telemetry-client</artifactId>
        <version>1.0.3</version>
      </dependency>
      <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>synapseml-lightgbm_2.12</artifactId>
        <version>${synapseml-lightgbm.version}</version>
      </dependency>
      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>1.82</version>
      </dependency>
      <dependency>
        <groupId>ml.dmlc</groupId>
        <artifactId>xgboost4j-spark_${scala.binary.version}</artifactId>
        <version>${xgboost4j-spark.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-mllib_${scala.binary.version}</artifactId>
        <version>${spark.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>2.7.4</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>5.14.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <version>4.9.6</version>
        <executions>
          <execution>
            <id>scala-compile-first</id>
            <phase>process-resources</phase>
            <goals>
              <goal>add-source</goal>
              <goal>compile</goal>
            </goals>
          </execution>
          <execution>
            <id>scala-test-compile</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
          <execution>
            <id>doc</id>
            <phase>site</phase>
            <goals>
              <goal>doc</goal>
            </goals>
            <configuration>
              <args>
                <arg>-groups</arg>
                <arg>-implicits</arg>
              </args>
              <excludes>
                <exclude>**/*.java</exclude>
              </excludes>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <compileOrder>ScalaThenJava</compileOrder>
          <jvmArgs>
            <jvmArg>-Xmx1024m</jvmArg>
          </jvmArgs>
          <release>${java.version}</release>
          <scalaVersion>${scala.version}</scalaVersion>
          <scalaCompatVersion>${scala.binary.version}</scalaCompatVersion>
          <sourceDir>src/main/scala</sourceDir>
          <args>
            <arg>-deprecation</arg>
            <arg>-feature</arg>
            <arg>-unchecked</arg>
            <arg>-Xlint</arg>
            <arg>-Ywarn-dead-code</arg>
            <arg>-Ywarn-value-discard</arg>
            <arg>-Ywarn-unused:imports</arg>
            <arg>-Ywarn-unused:patvars</arg>
            <arg>-Ywarn-unused:privates</arg>
            <arg>-Ywarn-unused:locals</arg>
            <arg>-Ywarn-unused:implicits</arg>
            <arg>-Xfatal-warnings</arg>
          </args>
        </configuration>
      </plugin>
      <plugin>
        <groupId>de.jutzig</groupId>
        <artifactId>github-release-plugin</artifactId>
        <version>1.2.0</version>
        <executions>
          <execution>
            <id>default-cli</id>
            <configuration>
              <artifact>${project.build.directory}/${project.artifactId}-executable-${project.version}.${project.packaging}</artifact>
              <description>https://github.com/jpmml/jpmml-sparkml</description>
              <releaseName>${project.version}</releaseName>
              <repositoryId>jpmml/jpmml-sparkml</repositoryId>
              <tag>${project.version}</tag>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <activation>
        <jdk>[16, )</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>--add-exports=java.base/sun.nio.ch=ALL-UNNAMED</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
