<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ Copyright (c) 2015-2018 Skymind, Inc. ~ ~ 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. ~ ~ 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"> <parent> <artifactId>nd4j-api-parent</artifactId> <groupId>org.nd4j</groupId> <version>1.0.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>nd4j-api</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <name>nd4j-api</name> <url>https://deeplearning4j.org</url> <build> <plugins> <!-- AB 2019/08/24 This plugin is to be added TEMPORARILY due to a change in the filenames of the generated ONNX --> <!-- Normal "mvn clean" etc won't delete these files, and any users who have built ND4J even once before the change will run into a compilation error. This can be removed after a few weeks.--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.8</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <delete file="${project.build.sourceDirectory}/onnx/OnnxMlProto3.java" /> <delete file="${project.build.sourceDirectory}/onnx/OnnxOperatorsProto3.java" /> <delete file="${project.build.sourceDirectory}/onnx/OnnxProto3.java" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.github.os72</groupId> <artifactId>protoc-jar-maven-plugin</artifactId> <version>3.8.0</version> <executions> <execution> <id>tensorflow</id> <phase>generate-sources</phase> <goals> <goal>run</goal> </goals> <configuration> <protocVersion>3.8.0</protocVersion> <extension>.proto</extension> <includeDirectories> <include>src/main/protobuf/tf</include> <include>src/main/protobuf/onnx</include> </includeDirectories> <inputDirectories> <include>src/main/protobuf/tf/tensorflow</include> <include>src/main/protobuf/onnx</include> </inputDirectories> <addSources>main</addSources> <cleanOutputFolder>false</cleanOutputFolder> <outputDirectory>src/main/java/</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>replacer</artifactId> <version>1.5.3</version> <configuration> <includes> <include>${project.build.sourceDirectory}/org/tensorflow/**</include> <include>${project.build.sourceDirectory}/tensorflow/**</include> <include>${project.build.sourceDirectory}/onnx/**</include> </includes> <token>com.google.protobuf.</token> <value>org.nd4j.shade.protobuf.</value> </configuration> <executions> <execution> <id>replace-imports</id> <phase>generate-sources</phase> <goals> <goal>replace</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries> true </addDefaultImplementationEntries> </manifest> </archive> </configuration> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.jakewharton.byteunits</groupId> <artifactId>byteunits</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>${commons-math3.version}</version> </dependency> <!-- Tensorflow import --> <dependency> <groupId>com.google.flatbuffers</groupId> <artifactId>flatbuffers-java</artifactId> <version>${flatbuffers.version}</version> </dependency> <!-- Note that this is shaded protobuf. We use this instead of google's version mainly due ot other systems packaging their own older (incompatible) protobuf versions--> <dependency> <groupId>org.nd4j</groupId> <artifactId>protobuf</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.objenesis</groupId> <artifactId>objenesis</artifactId> <version>${objenesis.version}</version> </dependency> <!-- oshi: Used for collecting system information for system info reporting --> <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>${oshi.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <!-- Shaded version of Jackson --> <dependency> <groupId>org.nd4j</groupId> <artifactId>jackson</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>${commons-net.version}</version> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-buffer</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-context</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>net.ericaro</groupId> <artifactId>neoitertools</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <profiles> <profile> <id>testresources</id> </profile> </profiles> </project>