<?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.talend.dq.libs</groupId>
    <artifactId>talend-bigdata-structured-stream-dq</artifactId>
    <version>1.0.0</version>
    <packaging>jar</packaging>
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <java.version>17</java.version>
        <!-- Dependencies versions -->
        <log4j.version>2.17.1</log4j.version>
        <immutables.version>2.9.0</immutables.version>
        <spark.version>3.5.3</spark.version>
        <scala.binary.version>2.12</scala.binary.version>
        <!-- DQ-specific dependency versions -->
        <junidecode.version>0.2</junidecode.version>
        <lucene.version>8.11.2</lucene.version>
        <commons-lang3.version>3.18.0</commons-lang3.version>
        <dataquality-datamasking.version>9.4.15</dataquality-datamasking.version>
        <crypto-utils.version>7.1.28</crypto-utils.version>
        <libphonenumber.version>8.12.3</libphonenumber.version>
        <dataquality.version>9.2.15</dataquality.version>
        <kuromoji.version>0.9.0</kuromoji.version>
        <!-- Test dependency versions -->
        <junit.version>5.12.0</junit.version>
        <assertj.version>3.22.0</assertj.version>
        <logback.version>1.2.11</logback.version>
        <slf4j.version>1.7.36</slf4j.version>
        <mockito.version>5.14.0</mockito.version>
        <hamcrest-all.version>1.3</hamcrest-all.version>
        <objenesis.version>3.2</objenesis.version>
        <kryo.shaded.version>4.0.2</kryo.shaded.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- Build plugin versions -->
        <danielflower.version>3.2.4</danielflower.version>
        <jacoco.version>0.8.10</jacoco.version>
        <maven-compiler.version>3.13.0</maven-compiler.version>
        <maven-jar.version>3.2.0</maven-jar.version>
        <maven-surefire.version>3.5.0</maven-surefire.version>
        <sonar.version>3.11.0.3922</sonar.version>
        <sonar.coverage.exclusions>
        </sonar.coverage.exclusions>
    </properties>
    <repositories>
        <repository>
            <name>TalendOpenSourceRelease</name>
            <id>talend_nexus_deployment</id>
            <url>https://artifacts-zl.talend.com/nexus/content/repositories/TalendOpenSourceRelease/</url>
        </repository>
        <repository>
            <id>maven_central</id>
            <name>Maven Central</name>
            <url>https://repo.maven.apache.org/maven2/</url>
        </repository>
        <repository>
            <id>artifacts-releases</id>
            <name>Artifacts ZL Releases</name>
            <url>https://artifacts-zl.talend.com/nexus/content/repositories/releases/</url>
        </repository>
    </repositories>
    <distributionManagement>
        <snapshotRepository>
            <id>talend_nexus_deployment</id>
            <url>https://artifacts-zl.talend.com/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
        <repository>
            <id>talend_nexus_deployment</id>
            <url>https://artifacts-zl.talend.com/nexus/content/repositories/releases/</url>
        </repository>
    </distributionManagement>
    <dependencies>
        <!-- ************************************************** -->
        <!-- Annotation processor (compile-time only) -->
        <!-- ************************************************** -->
        <dependency>
            <groupId>org.immutables</groupId>
            <artifactId>value</artifactId>
            <version>${immutables.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- ************************************************** -->
        <!-- Spark (provided by the cluster at runtime) -->
        <!-- ************************************************** -->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_${scala.binary.version}</artifactId>
            <version>${spark.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-reload4j</artifactId>
                </exclusion>
            </exclusions>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_${scala.binary.version}</artifactId>
            <version>${spark.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-reload4j</artifactId>
                </exclusion>
            </exclusions>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_${scala.binary.version}</artifactId>
            <version>${spark.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- ************************************************** -->
        <!-- Logging (provided by Spark runtime) -->
        <!-- ************************************************** -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- ************************************************** -->
        <!-- DQ parser (provided at runtime via Studio MODULE_GROUP) -->
        <!-- ************************************************** -->
        <dependency>
            <groupId>org.talend.libraries</groupId>
            <artifactId>org.talend.dataquality.parser</artifactId>
            <version>8.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.antlr</groupId>
            <artifactId>antlr-runtime</artifactId>
            <version>3.5.2</version>
            <scope>provided</scope>
        </dependency>
        <!-- ************************************************** -->
        <!-- DQ-specific runtime dependencies (compile scope — shipped with the job) -->
        <!-- ************************************************** -->
        <dependency>
            <groupId>org.talend.dataquality</groupId>
            <artifactId>dataquality-record-linkage</artifactId>
            <version>9.2.15</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.19.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>gcardone</groupId>
            <artifactId>junidecode</artifactId>
            <version>${junidecode.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.talend.dataquality</groupId>
            <artifactId>dataquality-datamasking</artifactId>
            <version>${dataquality-datamasking.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.talend.daikon</groupId>
            <artifactId>crypto-utils</artifactId>
            <version>${crypto-utils.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.googlecode.libphonenumber</groupId>
            <artifactId>libphonenumber</artifactId>
            <version>${libphonenumber.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.talend.dataquality</groupId>
            <artifactId>dataquality-email</artifactId>
            <version>${dataquality.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.talend.dataquality</groupId>
            <artifactId>dataquality-text-japanese</artifactId>
            <version>${dataquality.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.talend.dataquality</groupId>
            <artifactId>dataquality-converters</artifactId>
            <version>${dataquality.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atilika.kuromoji</groupId>
            <artifactId>kuromoji-ipadic</artifactId>
            <version>${kuromoji.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.talend.dataquality</groupId>
            <artifactId>dataquality-standardization</artifactId>
            <version>${dataquality.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>${lucene.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-analyzers-common</artifactId>
            <version>${lucene.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-backward-codecs</artifactId>
            <version>${lucene.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ************************************************** -->
        <!-- Tests -->
        <!-- ************************************************** -->
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>${hamcrest-all.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>${assertj.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${logback.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.objenesis</groupId>
            <artifactId>objenesis</artifactId>
            <version>${objenesis.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.esotericsoftware</groupId>
            <artifactId>kryo-shaded</artifactId>
            <version>${kryo.shaded.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_${scala.binary.version}</artifactId>
            <version>${spark.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
<licenses>
	<license>
		<name>Apache-2.0</name>
		<url>
http://www.talendforge.org/modules/licenses/APACHE_v2.txt
		</url>
	</license>
</licenses>

</project>
