<?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> <parent> <groupId>org.nd4j</groupId> <artifactId>nd4j-backends</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>nd4j-tests</artifactId> <name>nd4j-tests</name> <properties> <kotlin.version>1.4.30-M1</kotlin.version> <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget> <kotlin.compiler.incremental>true</kotlin.compiler.incremental> <junit.version>4.12</junit.version> <junit-jupiter.version>5.4.2</junit-jupiter.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <java.version>1.8</java.version> <maven-shade-plugin.version>3.1.1</maven-shade-plugin.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <scala.binary.version>2.11</scala.binary.version> <maven.compiler.testTarget>1.8</maven.compiler.testTarget> <maven.compiler.testSource>1.8</maven.compiler.testSource> </properties> <build> <plugins> <plugin> <groupId>org.projectlombok</groupId> <artifactId>lombok-maven-plugin</artifactId> <version>1.18.12.0</version> <executions> <execution> <id>delombok</id> <phase>generate-sources</phase> <goals> <goal>delombok</goal> </goals> <configuration> <formatPreferences> <javaLangAsFQN>skip</javaLangAsFQN> </formatPreferences> <verbose>true</verbose> </configuration> </execution> <execution> <id>test-delombok</id> <phase>generate-test-sources</phase> <goals> <goal>testDelombok</goal> </goals> <configuration> <verbose>true</verbose> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals><goal>add-source</goal></goals> <configuration> <sources> <source>src/main/stubs</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven-shade-plugin.version}</version> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <createDependencyReducedPom>false</createDependencyReducedPom> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>org/datanucleus/**</exclude> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>reference.conf</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer" /> </transformers> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>1.4.30-M1</version> <configuration> <args> <arg>-Xjsr305=strict</arg> </args> <compilerPlugins> <plugin>spring</plugin> <plugin>jpa</plugin> </compilerPlugins> </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> <!-- https://kotlinlang.org/docs/reference/using-maven.html --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <executions> <!-- Replacing default-compile as it is treated specially by maven --> <execution> <id>default-compile</id> <phase>none</phase> </execution> <!-- Replacing default-testCompile as it is treated specially by maven --> <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-test-compile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> <configuration> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Test Dependencies --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit-jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>${junit-jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test</artifactId> <version>${kotlin.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>samediff-import-tensorflow</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>samediff-import-onnx</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-api</artifactId> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-native-api</artifactId> </dependency> <!-- Shaded version of Jackson --> <dependency> <groupId>org.nd4j</groupId> <artifactId>jackson</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.0.2.RELEASE</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>3.6.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>${reflections.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-common-tests</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.stephenc.jcip</groupId> <artifactId>jcip-annotations</artifactId> <version>1.0-1</version> <scope>test</scope> </dependency> </dependencies> <profiles> <profile> <id>testresources</id> </profile> <profile> <id>nd4j-testresources</id> </profile> <profile> <id>nd4j-tests-cpu</id> <activation> <activeByDefault>false</activeByDefault> </activation> <dependencies> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-native</artifactId> <version>${project.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <environmentVariables> <LD_LIBRARY_PATH> ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cpu/blas/ </LD_LIBRARY_PATH> </environmentVariables> <testSourceDirectory>src/test/java</testSourceDirectory> <includes> <include>*.java</include> <include>**/*.java</include> <include>**/Test*.java</include> <include>**/*Test.java</include> <include>**/*TestCase.java</include> </includes> <junitArtifactName>junit:junit</junitArtifactName> <systemPropertyVariables> <org.nd4j.linalg.defaultbackend> org.nd4j.linalg.cpu.nativecpu.CpuBackend </org.nd4j.linalg.defaultbackend> <org.nd4j.linalg.tests.backendstorun> org.nd4j.linalg.cpu.nativecpu.CpuBackend </org.nd4j.linalg.tests.backendstorun> </systemPropertyVariables> <!-- Maximum heap size was set to 8g, as a minimum required value for tests run. Depending on a build machine, default value is not always enough. For testing large zoo models, this may not be enough (so comment it out). --> <argLine>-Ddtype=float -Xmx8g</argLine> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>nd4j-tests-cuda</id> <activation> <activeByDefault>false</activeByDefault> </activation> <dependencies> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-cuda-11.0</artifactId> <version>${project.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>2.19.1</version> </dependency> </dependencies> <configuration> <environmentVariables> <LD_LIBRARY_PATH> ${env.LD_LIBRARY_PATH}:${user.dir}:${libnd4jhome}/blasbuild/cuda/blas/ </LD_LIBRARY_PATH> </environmentVariables> <testSourceDirectory>src/test/java</testSourceDirectory> <includes> <include>*.java</include> <include>**/*.java</include> <include>**/Test*.java</include> <include>**/*Test.java</include> <include>**/*TestCase.java</include> </includes> <junitArtifactName>junit:junit</junitArtifactName> <systemPropertyVariables> <org.nd4j.linalg.defaultbackend> org.nd4j.linalg.jcublas.JCublasBackend </org.nd4j.linalg.defaultbackend> <org.nd4j.linalg.tests.backendstorun> org.nd4j.linalg.jcublas.JCublasBackend </org.nd4j.linalg.tests.backendstorun> </systemPropertyVariables> <!-- Maximum heap size was set to 6g, as a minimum required value for tests run. Depending on a build machine, default value is not always enough. --> <argLine>-Ddtype=float -Dfile.encoding=UTF-8 -Xmx6g</argLine> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>