Files
deeplearning4j--deeplearning4j/pom.xml
T
2026-07-13 12:47:05 +08:00

1065 lines
45 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ /* ******************************************************************************
~ *
~ *
~ * This program and the accompanying materials are made available under the
~ * terms of the Apache License, Version 2.0 which is available at
~ * https://www.apache.org/licenses/LICENSE-2.0.
~ *
~ * See the NOTICE file distributed with this work for additional
~ * information regarding copyright ownership.
~ * 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.
~ *
~ * SPDX-License-Identifier: Apache-2.0
~ ******************************************************************************/
-->
<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>
<groupId>org.eclipse.deeplearning4j</groupId>
<artifactId>deeplearning4j</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>deeplearning4j</name>
<description>Deeplearning4j Monorepo - Parent POM</description>
<url>http://deeplearning4j.konduit.ai/</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>Deeplearning4j Contributors</name>
<organization>Eclipse Foundation / Konduit K.K.</organization>
<organizationUrl>https://github.com/deeplearning4j/deeplearning4j/graphs/contributors</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/deeplearning4j/deeplearning4j.git</connection>
<developerConnection>scm:git:ssh://git@github.com/deeplearning4j/deeplearning4j.git</developerConnection>
<url>https://github.com/deeplearning4j/deeplearning4j</url>
<tag>HEAD</tag>
</scm>
<modules>
<module>libnd4j</module>
<module>nd4j</module>
<module>datavec</module>
<module>deeplearning4j</module>
<module>python4j</module>
<module>omnihub</module>
<module>resources</module>
<module>codegen</module>
</modules>
<properties>
<backend.requires></backend.requires>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<encoding>UTF-8</encoding>
<project.build.sourceEncoding>${encoding}</project.build.sourceEncoding>
<project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding>
<project.resources.sourceEncoding>${encoding}</project.resources.sourceEncoding>
<archetype.encoding>${encoding}</archetype.encoding>
<deeplearning4j.version>1.0.0-SNAPSHOT</deeplearning4j.version>
<dl4j.version>1.0.0-SNAPSHOT</dl4j.version>
<nd4j.version>1.0.0-SNAPSHOT</nd4j.version>
<datavec.version>1.0.0-SNAPSHOT</datavec.version>
<aspectj.version>1.9.7</aspectj.version>
<dl4j-test-resources.version>1.0.0-SNAPSHOT</dl4j-test-resources.version>
<dl4j-test-resources.classifier></dl4j-test-resources.classifier>
<rxjava.version>2.2.21</rxjava.version>
<arrow.version>6.0.1</arrow.version>
<jets3t.version>0.7.1</jets3t.version>
<metrics.version>3.2.6</metrics.version>
<netty.version>4.1.74.Final</netty.version>
<objenesis.version>2.6</objenesis.version>
<paranamer.version>2.6</paranamer.version>
<snakeyaml.version>1.26</snakeyaml.version>
<spring.version>5.2.24.RELEASE</spring.version>
<oshi.version>3.4.2</oshi.version>
<jcommander.version>1.27</jcommander.version>
<jodatime.version>2.2</jodatime.version>
<protonpack.version>1.15</protonpack.version>
<poi.version>5.2.0</poi.version>
<jodah.typetools.version>0.5.0</jodah.typetools.version>
<freemarker.version>2.3.23</freemarker.version>
<geoip2.version>2.8.1</geoip2.version>
<stream.analytics.version>2.9.8</stream.analytics.version>
<opencsv.version>5.9</opencsv.version>
<tdigest.version>3.2</tdigest.version>
<fastutil.version>6.5.7</fastutil.version>
<javacpp.parser.skip>false</javacpp.parser.skip>
<javacpp.compiler.skip>false</javacpp.compiler.skip>
<javacpp.platform.root/>
<javacpp.platform.compiler/>
<javacpp.platform.sysroot/>
<javacpp.platform.extension/>
<javacpp.compiler.options></javacpp.compiler.options>
<javacpp.platform.properties>${javacpp.platform}</javacpp.platform.properties>
<javacpp.version>1.5.11</javacpp.version>
<javacpp-presets.version>1.5.11</javacpp-presets.version>
<javacv.version>1.5.11</javacv.version>
<javacpp.platform.additionalIncludePaths />
<javacpp.platform.cppincludepath />
<javacpp.platform.library.path />
<nd4j.native.basedir />
<nd4j.cuda.basedir />
<moditect.generate.skip>true</moditect.generate.skip>
<moditect.add.skip>false</moditect.add.skip>
<moditect.version>1.2.2.Final</moditect.version>
<python.version>3.13.0</python.version>
<cpython-platform.version>${python.version}-${javacpp-presets.version}</cpython-platform.version>
<numpy.version>2.1.3</numpy.version>
<numpy.javacpp.version>${numpy.version}-${javacpp-presets.version}</numpy.javacpp.version>
<onnx.version>1.17.0</onnx.version>
<onnx.javacpp.version>${onnx.version}-${javacpp-presets.version}</onnx.javacpp.version>
<openblas.version>0.3.28</openblas.version>
<mkl.version>2025.0</mkl.version>
<opencv.version>4.10.0</opencv.version>
<hdf5.version>1.14.3</hdf5.version>
<tensorflow.version>1.15.5</tensorflow.version>
<tensorflow.javacpp.version>${tensorflow.version}-1.5.8</tensorflow.javacpp.version>
<archunit.version>0.17</archunit.version>
<commons-compress.version>1.21</commons-compress.version>
<commonsmath.version>3.5</commonsmath.version>
<commonslang.version>3.11</commonslang.version>
<commonsio.version>2.7</commonsio.version>
<commons-codec.version>1.10</commons-codec.version>
<commons.math.version>${commonsmath.version}</commons.math.version>
<commons.lang.version>${commonslang.version}</commons.lang.version>
<commons.io.version>${commonsio.version}</commons.io.version>
<commons-math3.version>${commonsmath.version}</commons-math3.version>
<commons-lang.version>2.6</commons-lang.version>
<commons-lang3.version>${commonslang.version}</commons-lang3.version>
<commons-logging.version>1.2</commons-logging.version>
<commons-net.version>3.1</commons-net.version>
<commons-io.version>${commonsio.version}</commons-io.version>
<commons-collections.version>3.2.2</commons-collections.version>
<commons-collections4.version>4.1</commons-collections4.version>
<args4j.version>2.0.29</args4j.version>
<slf4j.version>1.7.21</slf4j.version>
<junit.version>5.8.0-M1</junit.version>
<junit.platform.launcher.version>1.8.0-M1</junit.platform.launcher.version>
<archunit.version>0.14.1</archunit.version>
<logback.version>1.5.16</logback.version>
<jackson.version>2.16.0</jackson.version>
<jackson.databind.version>2.16.0</jackson.databind.version>
<shaded.snakeyaml.version>1.33</shaded.snakeyaml.version>
<geo.jackson.version>2.8.7</geo.jackson.version>
<lombok.version>1.18.42</lombok.version>
<json.versiounitn>20131018</json.versiounitn>
<google.protobuf.version>3.21.7</google.protobuf.version>
<failIfNoTests>false</failIfNoTests>
<mapdb.version>3.0.5</mapdb.version>
<sqlite.version>3.15.1</sqlite.version>
<javax.ws.rs.version>2.0</javax.ws.rs.version>
<guava.jre.version>30.1.1-jre</guava.jre.version>
<guava.android.version>28.0-android</guava.android.version>
<gson.version>2.8.0</gson.version>
<threadly.version>4.10.0</threadly.version>
<vertx.version>3.9.16</vertx.version>
<flatbuffers.version>25.2.10</flatbuffers.version>
<grpc.version>1.14.0</grpc.version>
<javax.annotation-api.version>1.2</javax.annotation-api.version>
<javax.activation.version>1.1.1</javax.activation.version>
<jaxb.version>2.3.0</jaxb.version>
<maven-central-publishing-plugin.version>0.7.0</maven-central-publishing-plugin.version>
<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<sbt-compiler-maven-plugin.version>1.0.0</sbt-compiler-maven-plugin.version>
<maven-git-commit-plugin.version>4.9.10</maven-git-commit-plugin.version>
<maven-git-commit-id-plugin.version>${maven-git-commit-plugin.version}</maven-git-commit-id-plugin.version>
<maven-build-helper-plugin.version>3.6.0</maven-build-helper-plugin.version>
<maven-surefire-plugin.version>3.3.0</maven-surefire-plugin.version>
<maven-surefire.version>${maven-surefire-plugin.version}</maven-surefire.version>
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
<maven-formatter-plugin.version>2.23.0</maven-formatter-plugin.version>
<maven-lifecycle-mapping-plugin.version>1.0.0</maven-lifecycle-mapping-plugin.version>
<maven-lifecycle-mapping.version>${maven-lifecycle-mapping-plugin.version}</maven-lifecycle-mapping.version>
<maven-shade-plugin.version>3.6.0</maven-shade-plugin.version>
<maven-jar-plugin.version>3.4.2</maven-jar-plugin.version>
<maven-dependency-plugin.version>3.7.1</maven-dependency-plugin.version>
<maven-invoker-plugin.version>2.2</maven-invoker-plugin.version>
<maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version>
<maven-replacer-plugin.version>1.5.3</maven-replacer-plugin.version>
<protoc-jar-maven-plugin.version>3.11.4</protoc-jar-maven-plugin.version>
<mockito.version>5.12.0</mockito.version>
<mockito.jupter.version>${mockito.version}</mockito.jupter.version>
<exec-maven-plugin.version>3.3.0</exec-maven-plugin.version>
<jetspeed-mvn-maven-plugin.version>2.3.1</jetspeed-mvn-maven-plugin.version>
<lz4.version>1.8.0</lz4.version>
<libnd4j.tests>--tests</libnd4j.tests>
<libnd4j.test.skip>false</libnd4j.test.skip>
<skipBackendChoice>false</skipBackendChoice>
<skipTestResourceEnforcement>false</skipTestResourceEnforcement>
<log4j2.version>2.17.2</log4j2.version>
<neoitertools.version>1.0.0</neoitertools.version>
<kotlin.version>1.9.24</kotlin.version>
<javapoet.version>1.13.0</javapoet.version>
<kotlin-logging.version>3.0.5</kotlin-logging.version>
<test.heap.size>8g</test.heap.size>
<test.offheap.size>8g</test.offheap.size>
<module.name></module.name>
<jdk9.exports>--add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.cs=ALL-UNNAMED --add-opens=java.base/sun.security.action=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-exports java.base/java.nio=ALL-UNNAMED</jdk9.exports>
<central.publishing.autoPublish>false</central.publishing.autoPublish>
<central.publishing.publishingRepositoryId>central</central.publishing.publishingRepositoryId>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>${lz4.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${netty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-bom</artifactId>
<version>${kotlin.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.moditect</groupId>
<artifactId>moditect-maven-plugin</artifactId>
<version>${moditect.version}</version>
<configuration>
<skip>${moditect.generate.skip}</skip>
<outputDirectory>${project.build.directory}/modules</outputDirectory>
<overwriteExistingFiles>true</overwriteExistingFiles>
<modules>
<module>
<artifact>
<groupId>org.eclipse.deeplearning4j</groupId>
<artifactId>nd4j-api</artifactId>
<version>${project.version}</version>
</artifact>
<moduleInfo>
<name>org.nd4j.api</name>
<exports>
org.nd4j.linalg.api.*;
org.nd4j.autodiff.*;
org.nd4j.evaluation.*;
</exports>
<requires>
java.base;
org.nd4j.common;
org.bytedeco.javacpp;
</requires>
</moduleInfo>
</module>
<module>
<artifact>
<groupId>org.eclipse.deeplearning4j</groupId>
<artifactId>nd4j-common</artifactId>
<version>${project.version}</version>
</artifact>
<moduleInfo>
<name>org.nd4j.common</name>
<exports>
org.nd4j.common.*;
</exports>
<requires>
java.base;
org.bytedeco.javacpp;
</requires>
</moduleInfo>
</module>
<module>
<artifact>
<groupId>org.eclipse.deeplearning4j</groupId>
<artifactId>nd4j-native</artifactId>
<version>${project.version}</version>
</artifact>
<moduleInfo>
<name>org.nd4j.cpu</name>
<exports>
org.nd4j.linalg.cpu.nativecpu.*;
</exports>
<requires>
java.base;
org.nd4j.common;
org.nd4j.api;
org.bytedeco.javacpp;
org.bytedeco.openblas;
</requires>
</moduleInfo>
</module>
<module>
<artifact>
<groupId>org.eclipse.deeplearning4j</groupId>
<artifactId>nd4j-cuda</artifactId>
<version>${project.version}</version>
</artifact>
<moduleInfo>
<name>org.nd4j.cuda</name>
<exports>
org.nd4j.linalg.cuda.*;
</exports>
<requires>
java.base;
org.nd4j.common;
org.nd4j.api;
org.bytedeco.javacpp;
org.bytedeco.cuda;
</requires>
</moduleInfo>
</module>
</modules>
<jdepsExtraArgs>
<arg>--ignore-missing-deps</arg>
<arg>--multi-release</arg>
<arg>11</arg>
</jdepsExtraArgs>
</configuration>
<executions>
<execution>
<id>generate-module-info</id>
<phase>generate-sources</phase>
<goals>
<goal>generate-module-info</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${maven-antrun-plugin.version}</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echoproperties />
</target>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<inherited>true</inherited>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit-platform</artifactId>
<version>${maven-surefire-plugin.version}</version>
</dependency>
</dependencies>
<configuration>
<trimStackTrace>false</trimStackTrace>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<environmentVariables>
<OMP_NUM_THREADS>1</OMP_NUM_THREADS>
</environmentVariables>
<classpathDependencyExcludes>
<classpathDependencyExclude>org.junit.vintage:junit-vintage-engine</classpathDependencyExclude>
<classpathDependencyExclude>com.google.android:android</classpathDependencyExclude>
</classpathDependencyExcludes>
<useSystemClassLoader>true</useSystemClassLoader>
<useManifestOnlyJar>false</useManifestOnlyJar>
<argLine>@{jdk9.exports} -Xmx${test.heap.size} -Dorg.bytedeco.javacpp.maxphysicalbytes=${test.offheap.size} -Dorg.bytedeco.javacpp.maxbytes=${test.offheap.size}</argLine>
<forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
<forkedProcessExitTimeoutInSeconds>300</forkedProcessExitTimeoutInSeconds>
<parallelTestsTimeoutInSeconds>300</parallelTestsTimeoutInSeconds>
<parallelTestsTimeoutForcedInSeconds>300</parallelTestsTimeoutForcedInSeconds>
</configuration>
</plugin>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<configuration>
<args>
<arg>-Xjsr305=strict</arg>
<arg>-Xextended-compiler-checks</arg>
<arg>-Xskip-runtime-version-check</arg>
</args>
<compilerPlugins>
<plugin>spring</plugin>
<plugin>jpa</plugin>
<plugin>all-open</plugin>
</compilerPlugins>
<pluginOptions>
<option>all-open:annotation=com.google.protobuf.GeneratedMessageV3</option>
<option>all-open:annotation=org.nd4j.shade.protobuf.GeneratedMessageV3</option>
</pluginOptions>
</configuration>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-noarg</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>compile</id>
<goals> <goal>compile</goal> </goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/main/stubs</sourceDir>
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/main/java</sourceDir>
<sourceDir>${project.basedir}/src/main/ops</sourceDir>
</sourceDirs>
</configuration>
</execution>
<execution>
<id>test-compile</id>
<goals> <goal>test-compile</goal> </goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/stubs</sourceDir>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/test/java</sourceDir>
<sourceDir>${project.basedir}/src/test/ops</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<compilerArgs>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>${maven-git-commit-id-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
<phase>generate-resources</phase>
</execution>
</executions>
<configuration>
<generateGitPropertiesFile>true</generateGitPropertiesFile>
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<generateGitPropertiesFilename>${project.build.outputDirectory}/META-INF/git.properties</generateGitPropertiesFilename>
<includeOnlyProperties>
<includeOnlyProperty>git.commit.id.abbrev</includeOnlyProperty>
<includeOnlyProperty>git.commit.time</includeOnlyProperty>
<includeOnlyProperty>git.branch</includeOnlyProperty>
</includeOnlyProperties>
<commitIdGenerationMode>flat</commitIdGenerationMode>
<gitDescribe>
<skip>true</skip>
</gitDescribe>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${maven-build-helper-plugin.version}</version>
<executions>
<execution>
<id>add-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>
${project.basedir}/target/generated-sources/src/main/resources
</directory>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>get-cpu-count</id>
<goals>
<goal>cpu-count</goal>
</goals>
<configuration>
<cpuCount>cpu.core.count</cpuCount>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>${maven-lifecycle-mapping.version}</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.lewisd</groupId>
<artifactId>lint-maven-plugin</artifactId>
<versionRange>[0.0.11,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>${maven-formatter-plugin.version}</version>
<configuration>
<configFile>${session.executionRootDirectory}/../contrib/formatter.xml</configFile>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${maven-central-publishing-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<waitUntil>published</waitUntil>
<failOnBuildFailure>true</failOnBuildFailure>
<autoPublish>${central.publishing.autoPublish}</autoPublish>
</configuration>
</plugin>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>java-compile</id>
<phase>compile</phase>
<goals> <goal>compile</goal> </goals>
</execution>
<execution>
<id>java-testCompile</id>
<phase>test-compile</phase>
<goals> <goal>testCompile</goal> </goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>native-backend</id>
<properties>
<backend.requires>,org.bytedeco.openblas,org.nd4j.cpu.api,nd4j.cpu.preset</backend.requires>
</properties>
</profile>
<profile>
<id>cuda-backend</id>
<properties>
<backend.requires>,org.bytedeco.cuda,org.nd4j.cuda.api,nd4j.cuda.preset</backend.requires>
</properties>
</profile>
<profile>
<id>parallel-tests</id>
<activation>
<property>
<name>parallelTests</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<properties>
<configurationParameters>
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.mode.default=concurrent
junit.jupiter.execution.parallel.config.strategy=fixed
junit.jupiter.execution.parallel.config.fixed.parallelism=${cpu.core.count}
</configurationParameters>
</properties>
<forkCount>${cpu.core.count}</forkCount>
<reuseForks>true</reuseForks>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>test-larger-heap-size</id>
<properties>
<test.heap.size>8g</test.heap.size>
<test.offheap.size>8g</test.offheap.size>
</properties>
</profile>
<profile>
<id>github</id>
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/deeplearning4j/deeplearning4j</url>
</repository>
<snapshotRepository>
<id>github</id>
<name>GitHub Packages Snapshots</name>
<url>https://maven.pkg.github.com/deeplearning4j/deeplearning4j</url>
</snapshotRepository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>skipTestCompileAndRun</id>
<activation>
<property>
<name>maven.test.skip</name>
<value>true</value>
</property>
</activation>
<properties>
<libnd4j.tests></libnd4j.tests>
<libnd4j.test.skip>true</libnd4j.test.skip>
<scala.test.skip>true</scala.test.skip>
<skipBackendChoice>true</skipBackendChoice>
<skipTestResourceEnforcement>true</skipTestResourceEnforcement>
</properties>
</profile>
<profile>
<id>skipTestRun</id>
<activation>
<property>
<name>skipTests</name>
</property>
</activation>
<properties>
<libnd4j.tests></libnd4j.tests>
<libnd4j.test.skip>true</libnd4j.test.skip>
<scala.test.skip>true</scala.test.skip>
<skipBackendChoice>true</skipBackendChoice>
<skipTestResourceEnforcement>true</skipTestResourceEnforcement>
</properties>
</profile>
<profile>
<id>qa</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>central-release</id>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
<build>
<plugins>
</plugins>
</build>
</profile>
<profile>
<id>trimSnapshots</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${maven-build-helper-plugin.version}</version>
<executions>
<execution>
<id>remove-old-artifacts</id>
<phase>package</phase>
<goals>
<goal>remove-project-artifact</goal>
</goals>
<configuration>
<removeAll>true
</removeAll>
</configuration>
</execution>
<execution>
<id>get-cpu-count</id>
<goals>
<goal>cpu-count</goal>
</goals>
<configuration>
<cpuCount>system.numCores</cpuCount>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>1.9build</id>
<activation>
<jdk>1.9</jdk>
</activation>
<properties>
<maven.compiler.release>7</maven.compiler.release>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>3.1.0</version>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>libnd4jhome-defined</id>
<activation>
<property>
<name>env.LIBND4J_HOME</name>
</property>
</activation>
<properties>
<libnd4jhome>${env.LIBND4J_HOME}</libnd4jhome>
</properties>
</profile>
<profile>
<id>libnd4jhome-undefined</id>
<activation>
<property>
<name>!env.LIBND4J_HOME</name>
</property>
</activation>
<properties>
<libnd4jhome>${basedir}/../../../../libnd4j/</libnd4jhome>
</properties>
</profile>
<profile>
<id>platform-tests</id>
<modules>
<module>platform-tests</module>
</modules>
</profile>
<profile>
<id>javacpp-platform-default</id>
<activation>
<property>
<name>!javacpp.platform</name>
</property>
</activation>
<properties>
<javacpp.platform>${os.name}-${os.arch}</javacpp.platform>
</properties>
</profile>
<profile>
<id>linux</id>
<activation>
<os>
<name>linux</name>
</os>
</activation>
<properties>
<os.kernel>linux</os.kernel>
<os.name>linux</os.name>
</properties>
</profile>
<profile>
<id>macosx</id>
<activation>
<os>
<name>mac os x</name>
</os>
</activation>
<properties>
<os.kernel>darwin</os.kernel>
<os.name>macosx</os.name>
</properties>
</profile>
<profile>
<id>windows</id>
<activation>
<os>
<family>windows</family>
</os>
</activation>
<properties>
<os.kernel>windows</os.kernel>
<os.name>windows</os.name>
</properties>
</profile>
<profile>
<id>arm</id>
<activation>
<os>
<arch>arm</arch>
</os>
</activation>
<properties>
<os.arch>armhf</os.arch>
</properties>
</profile>
<profile>
<id>android</id>
<activation>
<os><name>android</name></os>
</activation>
<properties>
<os.kernel>linux</os.kernel>
<os.name>android</os.name>
<os.arch>arm</os.arch>
</properties>
</profile>
<profile>
<id>aarch64</id>
<activation>
<os>
<arch>aarch64</arch>
</os>
</activation>
<properties>
<os.arch>arm64</os.arch>
</properties>
</profile>
<profile>
<id>armv8</id>
<activation>
<os>
<arch>armv8</arch>
</os>
</activation>
<properties>
<os.arch>arm64</os.arch>
</properties>
</profile>
<profile>
<id>i386</id>
<activation>
<os>
<arch>i386</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
<profile>
<id>i486</id>
<activation>
<os>
<arch>i486</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
<profile>
<id>i586</id>
<activation>
<os>
<arch>i586</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
<profile>
<id>i686</id>
<activation>
<os>
<arch>i686</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
<profile>
<id>x86</id>
<activation>
<os>
<arch>x86</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
<profile>
<id>amd64</id>
<activation>
<os>
<arch>amd64</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
<profile>
<id>x86-64</id>
<activation>
<os>
<arch>x86-64</arch>
</os>
</activation>
<properties>
<os.arch>x86_64</os.arch>
</properties>
</profile>
</profiles>
</project>