diff options
author | Mingxing Tan <tanmingxing@google.com> | 2018-06-28 19:13:20 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-06-28 19:16:41 -0700 |
commit | 1e7b0e4ad6d0f57f3241fe0b80a65f2c2a7f11b0 (patch) | |
tree | af92d172cedfc41e544c01a349c1d3b30bc3ff85 /tensorflow/java/maven | |
parent | 3cee10e61c1c90734317c62ea3388ec44acc8d08 (diff) |
Merge changes from github.
PiperOrigin-RevId: 202585094
Diffstat (limited to 'tensorflow/java/maven')
-rw-r--r-- | tensorflow/java/maven/.gitignore | 6 | ||||
-rw-r--r-- | tensorflow/java/maven/README.md | 6 | ||||
-rw-r--r-- | tensorflow/java/maven/hadoop/pom.xml | 24 | ||||
-rw-r--r-- | tensorflow/java/maven/pom.xml | 2 | ||||
-rw-r--r-- | tensorflow/java/maven/run_inside_container.sh | 47 | ||||
-rw-r--r-- | tensorflow/java/maven/spark-connector/pom.xml | 24 |
6 files changed, 107 insertions, 2 deletions
diff --git a/tensorflow/java/maven/.gitignore b/tensorflow/java/maven/.gitignore index ff080515d5..657e2a60bc 100644 --- a/tensorflow/java/maven/.gitignore +++ b/tensorflow/java/maven/.gitignore @@ -11,4 +11,10 @@ tensorflow/src tensorflow/target proto/src proto/target +hadoop/src +hadoop/target +spark-connector/src +spark-connector/target +spark-connector/dependency-reduced-pom.xml +spark-connector/spark-warehouse pom.xml.versionsBackup diff --git a/tensorflow/java/maven/README.md b/tensorflow/java/maven/README.md index c7e8f03806..3e030dcd09 100644 --- a/tensorflow/java/maven/README.md +++ b/tensorflow/java/maven/README.md @@ -53,6 +53,12 @@ There are seven artifacts and thus `pom.xml`s involved in this release: 7. [`parentpom`](https://maven.apache.org/pom/index.html): Common settings shared by all of the above. +8. `hadoop`: The TensorFlow TFRecord InputFormat/OutputFormat for Apache Hadoop. + The source code for this package is available in the [TensorFlow Ecosystem](https://github.com/tensorflow/ecosystem/tree/master/hadoop) + +9. `spark-connector`: A Scala library for loading and storing TensorFlow TFRecord + using Apache Spark DataFrames. The source code for this package is available + in the [TensorFlow Ecosystem](https://github.com/tensorflow/ecosystem/tree/master/spark/spark-tensorflow-connector) ## Updating the release diff --git a/tensorflow/java/maven/hadoop/pom.xml b/tensorflow/java/maven/hadoop/pom.xml new file mode 100644 index 0000000000..0642be06fa --- /dev/null +++ b/tensorflow/java/maven/hadoop/pom.xml @@ -0,0 +1,24 @@ +<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"> + <!-- Placeholder pom which is replaced by TensorFlow ecosystem Hadoop pom during build --> + <modelVersion>4.0.0</modelVersion> + <description>TensorFlow TFRecord InputFormat/OutputFormat for Apache Hadoop</description> + <artifactId>hadoop</artifactId> + <packaging>jar</packaging> + + <scm> + <url>https://github.com/tensorflow/ecosystem.git</url> + <connection>git@github.com:tensorflow/ecosystem.git</connection> + <developerConnection>scm:git:https://github.com/tensorflow/ecosystem.git</developerConnection> + </scm> + + <url>https://github.com/tensorflow/ecosystem/</url> + <parent> + <groupId>org.tensorflow</groupId> + <artifactId>parentpom</artifactId> + <version>1.9.0-rc0</version> + <relativePath>../</relativePath> + </parent> +</project>
\ No newline at end of file diff --git a/tensorflow/java/maven/pom.xml b/tensorflow/java/maven/pom.xml index 3890f3fcaa..b4746794ea 100644 --- a/tensorflow/java/maven/pom.xml +++ b/tensorflow/java/maven/pom.xml @@ -32,6 +32,8 @@ <module>libtensorflow_jni_gpu</module> <module>tensorflow</module> <module>proto</module> + <module>hadoop</module> + <module>spark-connector</module> </modules> <!-- Two profiles are used: diff --git a/tensorflow/java/maven/run_inside_container.sh b/tensorflow/java/maven/run_inside_container.sh index bf19c09b1d..2e771064e4 100644 --- a/tensorflow/java/maven/run_inside_container.sh +++ b/tensorflow/java/maven/run_inside_container.sh @@ -19,6 +19,7 @@ RELEASE_URL_PREFIX="https://storage.googleapis.com/tensorflow/libtensorflow" +TF_ECOSYSTEM_URL="https://github.com/tensorflow/ecosystem.git" # By default we deploy to both ossrh and bintray. These two # environment variables can be set to skip either repository. @@ -44,7 +45,9 @@ clean() { # (though if run inside a clean docker container, there won't be any dirty # artifacts lying around) mvn -q clean - rm -rf libtensorflow_jni/src libtensorflow_jni/target libtensorflow_jni_gpu/src libtensorflow_jni_gpu/target libtensorflow/src libtensorflow/target tensorflow-android/target + rm -rf libtensorflow_jni/src libtensorflow_jni/target libtensorflow_jni_gpu/src libtensorflow_jni_gpu/target \ + libtensorflow/src libtensorflow/target tensorflow-android/target proto/src proto/target \ + hadoop/src hadoop/target spark-connector/src spark-connector/target } update_version_in_pom() { @@ -183,6 +186,43 @@ generate_java_protos() { rm -rf "${DIR}/proto/tmp" } + +# Download the TensorFlow ecosystem source from git. +# The pom files from this repo do not inherit from the parent pom so the maven version +# is updated for each module. +download_tf_ecosystem() { + ECOSYSTEM_DIR="/tmp/tensorflow-ecosystem" + HADOOP_DIR="${DIR}/hadoop" + SPARK_DIR="${DIR}/spark-connector" + + # Clean any previous attempts + rm -rf "${ECOSYSTEM_DIR}" + + # Clone the TensorFlow ecosystem project + mkdir -p "${ECOSYSTEM_DIR}" + cd "${ECOSYSTEM_DIR}" + git clone "${TF_ECOSYSTEM_URL}" + cd ecosystem + git checkout r${TF_VERSION} + + # Copy the TensorFlow Hadoop source + cp -r "${ECOSYSTEM_DIR}/ecosystem/hadoop/src" "${HADOOP_DIR}" + cp "${ECOSYSTEM_DIR}/ecosystem/hadoop/pom.xml" "${HADOOP_DIR}" + cd "${HADOOP_DIR}" + update_version_in_pom + + # Copy the TensorFlow Spark connector source + cp -r "${ECOSYSTEM_DIR}/ecosystem/spark/spark-tensorflow-connector/src" "${SPARK_DIR}" + cp "${ECOSYSTEM_DIR}/ecosystem/spark/spark-tensorflow-connector/pom.xml" "${SPARK_DIR}" + cd "${SPARK_DIR}" + update_version_in_pom + + # Cleanup + rm -rf "${ECOSYSTEM_DIR}" + + cd "${DIR}" +} + # Deploy artifacts using a specific profile. # Arguments: # profile - name of selected profile. @@ -240,7 +280,8 @@ cd "${DIR}" # Comment lines out appropriately if debugging/tinkering with the release # process. # gnupg2 is required for signing -apt-get -qq update && apt-get -qqq install -y gnupg2 +apt-get -qq update && apt-get -qqq install -y gnupg2 git + clean update_version_in_pom download_libtensorflow @@ -248,6 +289,8 @@ download_libtensorflow_jni download_libtensorflow_jni_gpu update_tensorflow_android generate_java_protos +download_tf_ecosystem + # Build the release artifacts mvn verify # Push artifacts to repository diff --git a/tensorflow/java/maven/spark-connector/pom.xml b/tensorflow/java/maven/spark-connector/pom.xml new file mode 100644 index 0000000000..19c752d08b --- /dev/null +++ b/tensorflow/java/maven/spark-connector/pom.xml @@ -0,0 +1,24 @@ +<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"> + <!-- Placeholder pom which is replaced by TensorFlow ecosystem Spark pom during build --> + <modelVersion>4.0.0</modelVersion> + <description>TensorFlow TFRecord connector for Apache Spark DataFrames</description> + <artifactId>spark-connector</artifactId> + <packaging>jar</packaging> + + <scm> + <url>https://github.com/tensorflow/ecosystem.git</url> + <connection>git@github.com:tensorflow/ecosystem.git</connection> + <developerConnection>scm:git:https://github.com/tensorflow/ecosystem.git</developerConnection> + </scm> + + <url>https://github.com/tensorflow/ecosystem/</url> + <parent> + <groupId>org.tensorflow</groupId> + <artifactId>parentpom</artifactId> + <version>1.9.0-rc0</version> + <relativePath>../</relativePath> + </parent> +</project>
\ No newline at end of file |