You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by li...@apache.org on 2017/11/01 16:23:31 UTC
[incubator-mxnet] branch master updated: Add Scala package dev
tools for deploy (#8498)
This is an automated email from the ASF dual-hosted git repository.
liuyizhi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/master by this push:
new 8ac6ec9 Add Scala package dev tools for deploy (#8498)
8ac6ec9 is described below
commit 8ac6ec99719e59f957f893176da8ced02bb73ee2
Author: Yizhi Liu <ja...@gmail.com>
AuthorDate: Thu Nov 2 00:23:23 2017 +0800
Add Scala package dev tools for deploy (#8498)
* [scala] do not print op definition during compiling by default
* [scala] add dev tools for changing artifactId
* [scala] add scala make clean
---
Makefile | 6 ++-
scala-package/dev/change-artifact-id.sh | 51 ++++++++++++++++++++++
.../main/scala/ml/dmlc/mxnet/NDArrayMacro.scala | 5 ++-
.../src/main/scala/ml/dmlc/mxnet/SymbolMacro.scala | 5 ++-
4 files changed, 64 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index e821c6f..8c7ae6e 100644
--- a/Makefile
+++ b/Makefile
@@ -480,9 +480,13 @@ rpkg:
rpkgtest:
Rscript -e "require(testthat);res<-test_dir('R-package/tests/testthat');if(!testthat:::all_passed(res)){stop('Test failures', call. = FALSE)}"
+scalaclean:
+ (cd $(ROOTDIR)/scala-package; \
+ mvn clean -P$(SCALA_PKG_PROFILE))
+
scalapkg:
(cd $(ROOTDIR)/scala-package; \
- mvn clean package -P$(SCALA_PKG_PROFILE) -Dcxx="$(CXX)" \
+ mvn package -P$(SCALA_PKG_PROFILE) -Dcxx="$(CXX)" \
-Dcflags="$(CFLAGS)" -Dldflags="$(LDFLAGS)" \
-Dcurrent_libdir="$(ROOTDIR)/lib" \
-Dlddeps="$(LIB_DEP) $(ROOTDIR)/lib/libmxnet.a")
diff --git a/scala-package/dev/change-artifact-id.sh b/scala-package/dev/change-artifact-id.sh
new file mode 100755
index 0000000..fa78379
--- /dev/null
+++ b/scala-package/dev/change-artifact-id.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://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.
+#
+# (Yizhi) This is mainly inspired by the script in apache/spark.
+# I did some modificaiton to get it with our project.
+#
+
+set -e
+
+if [[ ($# -ne 2) || ( $1 == "--help") || $1 == "-h" ]]; then
+ echo "Usage: $(basename $0) [-h|--help] <from_artifactId> <to_artifactId>" 1>&2
+ exit 1
+fi
+
+FROM_ARTIFACT_ID=$1
+TO_ARTIFACT_ID=$2
+
+sed_i() {
+ perl -p -000 -e "$1" "$2" > "$2.tmp" && mv "$2.tmp" "$2"
+}
+
+export -f sed_i
+
+BASEDIR=$(dirname $0)/..
+
+find "$BASEDIR" -name 'pom.xml' -not -path '*target*' -print \
+ -exec bash -c \
+ "sed_i 's/(<artifactId)>'$FROM_ARTIFACT_ID'(<\/artifactId>)/\1>'$TO_ARTIFACT_ID'\2/g' {}" \;
+
+# Change assembly including settings
+# <includes>
+# <include>ml.dmlc.mxnet:libmxnet-scala-linux-x86_64-cpu:so</include>
+# </includes>
+find "$BASEDIR" -name 'assembly.xml' -not -path '*target*' -print \
+ -exec bash -c \
+ "sed_i 's/(<include>.*mxnet):'$FROM_ARTIFACT_ID'(:.*<\/include>)/\1:'$TO_ARTIFACT_ID'\2/g' {}" \;
diff --git a/scala-package/macros/src/main/scala/ml/dmlc/mxnet/NDArrayMacro.scala b/scala-package/macros/src/main/scala/ml/dmlc/mxnet/NDArrayMacro.scala
index 45e2571..1be9a8d 100644
--- a/scala-package/macros/src/main/scala/ml/dmlc/mxnet/NDArrayMacro.scala
+++ b/scala-package/macros/src/main/scala/ml/dmlc/mxnet/NDArrayMacro.scala
@@ -177,7 +177,10 @@ private[mxnet] object NDArrayMacro {
val realName = if (aliasName == name.value) "" else s"(a.k.a., ${name.value})"
val docStr = s"$aliasName $realName\n${desc.value}\n\n$paramStr\n$extraDoc\n"
// scalastyle:off println
- println("NDArray function definition:\n" + docStr)
+ if (System.getenv("MXNET4J_PRINT_OP_DEF") != null
+ && System.getenv("MXNET4J_PRINT_OP_DEF").toLowerCase == "true") {
+ println("NDArray function definition:\n" + docStr)
+ }
// scalastyle:on println
(aliasName, new NDArrayFunction(handle))
}
diff --git a/scala-package/macros/src/main/scala/ml/dmlc/mxnet/SymbolMacro.scala b/scala-package/macros/src/main/scala/ml/dmlc/mxnet/SymbolMacro.scala
index bd5b05b..730d424 100644
--- a/scala-package/macros/src/main/scala/ml/dmlc/mxnet/SymbolMacro.scala
+++ b/scala-package/macros/src/main/scala/ml/dmlc/mxnet/SymbolMacro.scala
@@ -169,7 +169,10 @@ private[mxnet] object SymbolImplMacros {
val realName = if (aliasName == name.value) "" else s"(a.k.a., ${name.value})"
val docStr = s"$aliasName $realName\n${desc.value}\n\n$paramStr\n$extraDoc\n"
// scalastyle:off println
- println("Symbol function definition:\n" + docStr)
+ if (System.getenv("MXNET4J_PRINT_OP_DEF") != null
+ && System.getenv("MXNET4J_PRINT_OP_DEF").toLowerCase == "true") {
+ println("Symbol function definition:\n" + docStr)
+ }
// scalastyle:on println
(aliasName, new SymbolFunction(handle, keyVarNumArgs.value))
}
--
To stop receiving notification emails like this one, please contact
['"commits@mxnet.apache.org" <co...@mxnet.apache.org>'].