You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@heron.apache.org by ni...@apache.org on 2022/05/02 06:32:34 UTC
[incubator-heron] branch master updated: Publish unshaded Maven artifacts with dependencies (#3778)
This is an automated email from the ASF dual-hosted git repository.
nicknezis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-heron.git
The following commit(s) were added to refs/heads/master by this push:
new c12b3c675a5 Publish unshaded Maven artifacts with dependencies (#3778)
c12b3c675a5 is described below
commit c12b3c675a5ade8574e33aee6d5a85d2dfa6aea0
Author: Josh Fischer <jo...@joshfischer.io>
AuthorDate: Mon May 2 01:32:29 2022 -0500
Publish unshaded Maven artifacts with dependencies (#3778)
Co-authored-by: Nicholas Nezis <ni...@gmail.com>
---
release/maven/heron-kafka.template.pom | 1 +
release/maven/heron-no-kryo.template.pom | 4 ++
release/maven/heron-with-kryo.template.pom | 1 +
release/maven/maven-pom-version.sh | 111 +++++++++++++++++++++++++++--
scripts/ci/build_maven_artifacts.sh | 2 +-
5 files changed, 112 insertions(+), 7 deletions(-)
diff --git a/release/maven/heron-kafka.template.pom b/release/maven/heron-kafka.template.pom
index 3ffa9f8352e..1aad1707876 100644
--- a/release/maven/heron-kafka.template.pom
+++ b/release/maven/heron-kafka.template.pom
@@ -60,6 +60,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
<artifactId>kafka-clients</artifactId>
<version>2.2.0</version>
</dependency>
+ DEPS
</dependencies>
<mailingLists>
diff --git a/release/maven/heron-no-kryo.template.pom b/release/maven/heron-no-kryo.template.pom
index 3b40a26bd40..7ab1c39f4d3 100644
--- a/release/maven/heron-no-kryo.template.pom
+++ b/release/maven/heron-no-kryo.template.pom
@@ -32,6 +32,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
</license>
</licenses>
+ <dependencies>
+ DEPS
+ </dependencies>
+
<mailingLists>
<mailingList>
<name>Heron user mailing list</name>
diff --git a/release/maven/heron-with-kryo.template.pom b/release/maven/heron-with-kryo.template.pom
index 8bb0d640d81..186fc766ad0 100644
--- a/release/maven/heron-with-kryo.template.pom
+++ b/release/maven/heron-with-kryo.template.pom
@@ -39,6 +39,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
<version>5.3.0</version>
<scope>compile</scope>
</dependency>
+ DEPS
</dependencies>
<mailingLists>
diff --git a/release/maven/maven-pom-version.sh b/release/maven/maven-pom-version.sh
index b9e8901c004..92580464449 100755
--- a/release/maven/maven-pom-version.sh
+++ b/release/maven/maven-pom-version.sh
@@ -27,40 +27,139 @@ cat ./maven/heron-no-kryo.template.pom | \
sed "s/VERSION/$1/g" | \
sed "s/ARTIFACT_ID/heron-api/g" | \
sed "s/NAME/heron-api/g" | \
- sed "s/DESCRIPTION/Heron API/g" \
+ sed "s/DESCRIPTION/Heron API/g" | \
+ awk '{gsub("DEPS", "<dependency>\
+ <groupId>org.apache.commons</groupId>\
+ <artifactId>commons-lang3</artifactId>\
+ <version>3.12.0</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.glassfish.jersey.media</groupId>\
+ <artifactId>jersey-media-jaxb</artifactId>\
+ <version>2.25.1</version>\
+ </dependency>", $0); print}' | \
+ xmllint --format - \
>> ./heron-api-$1.pom
cat ./maven/heron-no-kryo.template.pom | \
sed "s/VERSION/$1/g" | \
sed "s/ARTIFACT_ID/heron-spi/g" | \
sed "s/NAME/heron-spi/g" | \
- sed "s/DESCRIPTION/Heron SPI/g" \
+ sed "s/DESCRIPTION/Heron SPI/g" | \
+ awk '{gsub("DEPS", "<dependency>\
+ <groupId>org.apache.heron</groupId>\
+ <artifactId>heron-api</artifactId>\
+ <version>HERON_API_VERSION</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>com.google.protobuf</groupId>\
+ <artifactId>protobuf-java</artifactId>\
+ <version>3.19.1</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>com.google.guava</groupId>\
+ <artifactId>guava</artifactId>\
+ <version>23.6-jre</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.yaml</groupId>\
+ <artifactId>snakeyaml</artifactId>\
+ <version>1.29</version>\
+ </dependency>", $0); print}' | \
+ sed "s/HERON_API_VERSION/$1/g" | \
+ xmllint --format - \
>> ./heron-spi-$1.pom
cat ./maven/heron-with-kryo.template.pom | \
sed "s/VERSION/$1/g" | \
sed "s/ARTIFACT_ID/heron-storm/g" | \
sed "s/NAME/heron-storm/g" | \
- sed "s/DESCRIPTION/Heron Storm/g" \
+ sed "s/DESCRIPTION/Heron Storm/g" | \
+ awk '{gsub("DEPS", "<dependency>\
+ <groupId>org.apache.heron</groupId>\
+ <artifactId>heron-api</artifactId>\
+ <version>HERON_API_VERSION</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.apache.commons</groupId>\
+ <artifactId>commons-lang3</artifactId>\
+ <version>3.12.0</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.yaml</groupId>\
+ <artifactId>snakeyaml</artifactId>\
+ <version>1.29</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>com.googlecode.json-simple</groupId>\
+ <artifactId>json-simple</artifactId>\
+ <version>1.1</version>\
+ </dependency>", $0); print}' | \
+ sed "s/HERON_API_VERSION/$1/g" | \
+ xmllint --format - \
>> ./heron-storm-$1.pom
cat ./maven/heron-with-kryo.template.pom | \
sed "s/VERSION/$1/g" | \
sed "s/ARTIFACT_ID/heron-simulator/g" | \
sed "s/NAME/heron-simulator/g" | \
- sed "s/DESCRIPTION/Heron Simulator/g" \
+ sed "s/DESCRIPTION/Heron Simulator/g" | \
+ awk '{gsub("DEPS", "<dependency>\
+ <groupId>org.apache.heron</groupId>\
+ <artifactId>heron-api</artifactId>\
+ <version>HERON_API_VERSION</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.apache.commons</groupId>\
+ <artifactId>commons-lang3</artifactId>\
+ <version>3.12.0</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.yaml</groupId>\
+ <artifactId>snakeyaml</artifactId>\
+ <version>1.29</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.glassfish.jersey.media</groupId>\
+ <artifactId>jersey-media-jaxb</artifactId>\
+ <version>2.25.1</version>\
+ </dependency>", $0); print}' | \
+ sed "s/HERON_API_VERSION/$1/g" | \
+ xmllint --format - \
>> ./heron-simulator-$1.pom
cat ./maven/heron-kafka.template.pom | \
sed "s/VERSION/$1/g" | \
sed "s/ARTIFACT_ID/heron-kafka-spout/g" | \
sed "s/NAME/heron-kafka-spout/g" | \
- sed "s/DESCRIPTION/Heron Kafka Spout/g" \
+ sed "s/DESCRIPTION/Heron Kafka Spout/g" | \
+ awk '{gsub("DEPS", "<dependency>\
+ <groupId>org.slf4j</groupId>\
+ <artifactId>slf4j-jdk14</artifactId>\
+ <version>1.7.30</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.slf4j</groupId>\
+ <artifactId>slf4j-api</artifactId>\
+ <version>1.7.30</version>\
+ </dependency>", $0); print}' | \
+ xmllint --format - \
>> ./heron-kafka-spout-$1.pom
cat ./maven/heron-kafka.template.pom | \
sed "s/VERSION/$1/g" | \
sed "s/ARTIFACT_ID/heron-kafka-bolt/g" | \
sed "s/NAME/heron-kafka-bolt/g" | \
- sed "s/DESCRIPTION/Heron Kafka Bolt/g" \
+ sed "s/DESCRIPTION/Heron Kafka Bolt/g" | \
+ awk '{gsub("DEPS", "<dependency>\
+ <groupId>org.slf4j</groupId>\
+ <artifactId>slf4j-jdk14</artifactId>\
+ <version>1.7.30</version>\
+ </dependency>\
+ <dependency>\
+ <groupId>org.slf4j</groupId>\
+ <artifactId>slf4j-api</artifactId>\
+ <version>1.7.30</version>\
+ </dependency>", $0); print}' | \
+ xmllint --format - \
>> ./heron-kafka-bolt-$1.pom
diff --git a/scripts/ci/build_maven_artifacts.sh b/scripts/ci/build_maven_artifacts.sh
index f9fda6f8a4f..6b89ba6a308 100644
--- a/scripts/ci/build_maven_artifacts.sh
+++ b/scripts/ci/build_maven_artifacts.sh
@@ -69,7 +69,7 @@ mkdir -p $OUTPUT_DIR/$VERSION_TAG/heron-kafka-bolt
echo "Copy heron-api artifacts ... "
cp -p -f ./release/heron-api-$VERSION_TAG.pom $OUTPUT_DIR/$VERSION_TAG/heron-api/
-cp -p -f ./bazel-bin/heron/api/src/java/api-shaded.jar $OUTPUT_DIR/$VERSION_TAG/heron-api/heron-api-$VERSION_TAG.jar
+cp -p -f ./bazel-bin/heron/api/src/java/api-java-low-level-functional.jar $OUTPUT_DIR/$VERSION_TAG/heron-api/heron-api-$VERSION_TAG.jar
cp -p -f ./bazel-bin/heron/api/src/java/heron-api-javadoc.zip $OUTPUT_DIR/$VERSION_TAG/heron-api/heron-api-$VERSION_TAG-javadoc.jar
cp -p -f ./bazel-bin/heron/api/src/java/libapi-java-low-level-functional-src.jar $OUTPUT_DIR/$VERSION_TAG/heron-api/heron-api-$VERSION_TAG-sources.jar