blob: 21cb43f1e4988e5883be5e09e0a8fba63837fe84 [file] [log] [blame]
#!/bin/bash
# Licensed 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.
#
# Updates maven POM artifacts with version.
# Usage
# ./maven/maven-pom-version.sh VERSION
# Example
# ./maven/maven-pom-version.sh 0.14.1
if [ "$1" = "" ]; then
echo "ERROR: heron version missing. Usage './maven/maven-pom-version.sh VERSION' "
exit 1
fi
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" | \
awk '{gsub("DEPS", "<dependency>\
<groupId>org.apache.commons</groupId>\
<artifactId>commons-lang3</artifactId>\
<version>3.12.0</version>\
</dependency>\
<dependency>\
<groupId>com.google.protobuf</groupId>\
<artifactId>protobuf-java</artifactId>\
<version>3.16.1</version>\
</dependency>\
<dependency>\
<groupId>javax.xml.bind</groupId>\
<artifactId>jaxb-api</artifactId>\
<version>2.3.0</version>\
</dependency>\
<dependency>\
<groupId>org.slf4j</groupId>\
<artifactId>jul-to-slf4j</artifactId>\
<version>1.7.36</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" | \
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" | \
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" | \
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" | \
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" | \
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