diff --git a/tools/maven.bzl b/tools/maven.bzl index a08b17d10a..b7e9591f79 100644 --- a/tools/maven.bzl +++ b/tools/maven.bzl @@ -39,6 +39,13 @@ def t2_java_lib( resource_jars = resource_jars, ) + native.genrule( + name = name + "-javadoc", + srcs = [":" + name], + outs = [name + "-javadoc.jar"], + cmd = "cp $(SRCS) $@", + ) + if (generate_pom): pom_file( name = "pom", @@ -63,6 +70,13 @@ def t2_proto_java_lib(name, srcs = [], deps = [], artifact_name = "", generate_p resource_jars = [":%s" % name], ) + native.genrule( + name = "j%s" % name + "-javadoc", + srcs = [":" + ("j%s" % name)], + outs = [("j%s" % name) + "-javadoc.jar"], + cmd = "cp $(SRCS) $@", + ) + if (generate_pom): pom_file( name = "pom", diff --git a/tools/pom-template.xml b/tools/pom-template.xml index 16ad8e2c3e..db32854be7 100644 --- a/tools/pom-template.xml +++ b/tools/pom-template.xml @@ -10,7 +10,9 @@ - + 4.0.0 @@ -23,14 +25,17 @@ {artifact_id} {artifact_name} {pom_version} - Twister2 Big Data Hosting Environment: A composable framework for high-performance data analytics + Twister2 Big Data Hosting Environment: A composable framework for high-performance + data analytics + https://github.com/DSC-SPIDAL/twister2 {packaging} https://github.com/DSC-SPIDAL/twister2 scm:git:git://github.com/DSC-SPIDAL/twister2.git - scm:git:ssh://git@github.com/DSC-SPIDAL/twister2.git + scm:git:ssh://git@github.com/DSC-SPIDAL/twister2.git + HEAD @@ -51,7 +56,121 @@ http://iu.edu + + + + maven-deploy-plugin + 2.8.2 + + + default-deploy + deploy + + deploy + + + + + + org.apache.maven.plugins + maven-release-plugin + 2.5.3 + + true + false + forked-path + -Dgpg.passphrase=${gpg.passphrase} + + + + org.apache.maven.scm + maven-scm-provider-gitexe + 1.9.5 + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.7 + true + + ossrh + https://oss.sonatype.org/ + true + + + + org.apache.maven.plugins + maven-source-plugin + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + attach-javadocs + + jar + + + + + + + + + + + release-sign-artifacts + + + performRelease + true + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + {generated_bzl_deps} + \ No newline at end of file diff --git a/util/mvn/deploy-to-maven-central.sh b/util/mvn/deploy-to-maven-central.sh index 44919dcff8..dd99957ee2 100755 --- a/util/mvn/deploy-to-maven-central.sh +++ b/util/mvn/deploy-to-maven-central.sh @@ -26,8 +26,7 @@ bash $(dirname $0)/execute-deploy.sh \ "gpg:sign-and-deploy-file" \ "$version_name" \ "-DrepositoryId=ossrh" \ - "-Durl=https://oss.sonatype.org/content/repositories/snapshots" \ -# "-Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/" \ + "-Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2" \ "-Dgpg.keyname=${key}" # Publish javadocs to gh-pages diff --git a/util/mvn/execute-deploy.sh b/util/mvn/execute-deploy.sh index ff0dee9d81..69f2b945a2 100755 --- a/util/mvn/execute-deploy.sh +++ b/util/mvn/execute-deploy.sh @@ -21,16 +21,20 @@ bazel_output_file() { } deploy_library() { - local library=$1 - local pomfile=$2 + local library="$1/lib$2.jar" + local pomfile="$1/pom.xml" + local source="$1/lib$2-src.jar" + local javadoc="$1/$2-javadoc.jar" bazel build --define=pom_version="$VERSION_NAME" \ - $library $pomfile --action_env=JAVA_HOME + $library $pomfile $source $javadoc - printf "\nGenerating %s\n\n" "$1" + printf "\nGenerating %s %s\n\n" "$1" "$MVN_GOAL" mvn $MVN_GOAL \ -Dfile=$(bazel_output_file $library) \ -DpomFile=$(bazel_output_file $pomfile) \ + -Dsources=$(bazel_output_file $source) \ + -Djavadoc=$(bazel_output_file $javadoc) \ "${EXTRA_MAVEN_ARGS[@]:+${EXTRA_MAVEN_ARGS[@]}}" } @@ -51,131 +55,131 @@ deploy_proto_library() { # APIs deploy_library \ - twister2/api/src/java/libapi-java.jar \ - twister2/api/src/java/pom.xml + twister2/api/src/java \ + api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/checkpointing/libcheckpointing-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/checkpointing/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/checkpointing \ + checkpointing-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/comms/libcomms-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/comms/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/comms \ + comms-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/config/libconfig-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/config/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/config \ + config-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/data/libdata-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/data/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/data \ + data-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/dataset/libdataset-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/dataset/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/dataset \ + dataset-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/exceptions/libexceptions-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/exceptions/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/exceptions \ + exceptions-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/net/libnetwork-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/net/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/net \ + network-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/resource/libresource-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/resource/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/resource \ + resource-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/scheduler/libscheduler-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/scheduler/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/scheduler \ + scheduler-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/compute/libtask-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/compute/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/compute \ + task-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/tset/libtset-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/tset/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/tset \ + tset-api-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/util/libapi-utils-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/util/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/util \ + api-utils-java deploy_library \ - twister2/api/src/java/edu/iu/dsc/tws/api/faulttolerance/libfault-tolerance-api-java.jar \ - twister2/api/src/java/edu/iu/dsc/tws/api/faulttolerance/pom.xml + twister2/api/src/java/edu/iu/dsc/tws/api/faulttolerance \ + fault-tolerance-api-java # End of APIs deploy_library \ - twister2/common/src/java/libcommon-java.jar \ - twister2/common/src/java/pom.xml + twister2/common/src/java \ + common-java deploy_library \ - twister2/comms/src/java/libcomms-java.jar \ - twister2/comms/src/java/pom.xml + twister2/comms/src/java \ + comms-java deploy_library \ - twister2/connectors/src/java/libconnector-java.jar \ - twister2/connectors/src/java/pom.xml + twister2/connectors/src/java \ + connector-java deploy_library \ - twister2/data/src/main/java/libdata-java.jar \ - twister2/data/src/main/java/pom.xml + twister2/data/src/main/java \ + data-java deploy_library \ - twister2/examples/src/java/libexamples-java.jar \ - twister2/examples/src/java/pom.xml + twister2/examples/src/java \ + examples-java deploy_library \ - twister2/executor/src/java/libexecutor-java.jar \ - twister2/executor/src/java/pom.xml + twister2/executor/src/java \ + executor-java deploy_library \ - twister2/master/src/java/libmaster-java.jar \ - twister2/master/src/java/pom.xml + twister2/master/src/java \ + master-java deploy_library \ - twister2/resource-scheduler/src/java/libresource-scheduler-java.jar \ - twister2/resource-scheduler/src/java/pom.xml + twister2/resource-scheduler/src/java \ + resource-scheduler-java deploy_library \ - twister2/task/src/main/java/libtask-java.jar \ - twister2/task/src/main/java/pom.xml + twister2/task/src/main/java \ + task-java deploy_library \ - twister2/taskscheduler/src/java/libtaskscheduler-java.jar \ - twister2/taskscheduler/src/java/pom.xml + twister2/taskscheduler/src/java \ + taskscheduler-java deploy_library \ - twister2/compatibility/storm/libtwister2-storm.jar \ - twister2/compatibility/storm/pom.xml + twister2/compatibility/storm \ + twister2-storm deploy_library \ - twister2/compatibility/beam/libtwister2-beam.jar \ - twister2/compatibility/beam/pom.xml + twister2/compatibility/beam \ + twister2-beam deploy_library \ - twister2/checkpointing/src/java/libcheckpointing-java.jar \ - twister2/checkpointing/src/java/pom.xml + twister2/checkpointing/src/java \ + checkpointing-java deploy_library \ - twister2/proto/libjproto-java.jar \ - twister2/proto/pom.xml + twister2/proto \ + jproto-java deploy_library \ - twister2/proto/utils/libproto-utils-java.jar \ - twister2/proto/utils/pom.xml + twister2/proto/utils \ + proto-utils-java deploy_library \ - twister2/compatibility/harp/libtwister2-harp.jar \ - twister2/compatibility/harp/pom.xml + twister2/compatibility/harp \ + twister2-harp deploy_library \ - twister2/tools/local-runner/src/java/liblocal-runner-java.jar \ - twister2/tools/local-runner/src/java/pom.xml + twister2/tools/local-runner/src/java \ + local-runner-java deploy_library \ - twister2/tset/src/java/libtset-java.jar \ - twister2/tset/src/java/pom.xml + twister2/tset/src/java \ + tset-java