Skip to content

Instantly share code, notes, and snippets.

@rPraml
Created March 8, 2023 06:43
Show Gist options
  • Save rPraml/57a297c400198d6e6bc9549eda627386 to your computer and use it in GitHub Desktop.
Save rPraml/57a297c400198d6e6bc9549eda627386 to your computer and use it in GitHub Desktop.
Artifact-transformer
#!/usr/bin/env bash
MIGRATION_VERSION="1.0.6"
if [ ! -f "jakartaee-migration-${MIGRATION_VERSION}-shaded.jar" ]
then
wget https://dlcdn.apache.org/tomcat/jakartaee-migration/v${MIGRATION_VERSION}/binaries/jakartaee-migration-${MIGRATION_VERSION}-shaded.jar -O jakartaee-migration-${MIGRATION_VERSION}-shaded.jar
fi
function transformFile() {
REPO="$1"
GROUP_ID="$2"
GROUP_PATH=$(echo "$GROUP_ID" | sed -e 's|\.|\/|g')
ARTIFACT_ID="$3"
VERSION="$4"
PACKAGING="$5"
CLASSIFIER="$6"
EXT=""
if [ "$CLASSIFIER" != "" ]
then
EXT="-$CLASSIFIER"
fi
FILE=${ARTIFACT_ID}-${VERSION}${EXT}.${PACKAGING}
JAKARTA_FILE=${ARTIFACT_ID}-${VERSION}-jakarta${EXT}.${PACKAGING}
URL="${REPO}/${GROUP_PATH}/${ARTIFACT_ID}/${VERSION}/${FILE}"
wget "$URL" -O "$FILE"
#
java -jar jakartaee-migration-${MIGRATION_VERSION}-shaded.jar -logLevel=FINE -profile=EE "$FILE" "$JAKARTA_FILE"
if [[ "$PACKAGING" == "jar" && "$CLASSIFIER" == "" ]]
then
POM="META-INF/maven/${GROUP_ID}/${ARTIFACT_ID}/pom.xml"
jar -x -v -f "$JAKARTA_FILE" "$POM"
# some tweaking for corrupt vaadin poms
sed -i -e "s/<artifactId>${ARTIFACT_ID}<\/artifactId>/<artifactId>${ARTIFACT_ID}<\/artifactId><version>${VERSION}-jakarta<\/version>/g" \
-e 's|<artifactId>jakarta.servlet-api</artifactId>|<artifactId>jakarta.servlet-api</artifactId><version>[6,)</version>|g' \
-e 's|<artifactId>validation-api</artifactId>|<artifactId>validation-api</artifactId><version>[3,)</version>|g' "$POM"
if [ "$ARTIFACT_ID" == "vaadin-spring" ]
then
sed -i -e 's|<version>3.0.1</version>||g' "$POM"
fi
if [ "$GROUP_ID" == "net.bull.javamelody" ]
then
sed -i -e "s/<version>${VERSION}<\/version>//g" "$POM"
sed -i -e 's|<version>4.0.1</version>||g' "$POM"
fi
# mvn -f "$POM" versions:set -DgenerateBackupPoms=false -DartifactId="$ARTIFACT_ID" -DnewVersion="${VERSION}-jakarta"
mvn deploy:deploy-file -DpomFile="$POM" \
-Dfile="$JAKARTA_FILE" \
-DrepositoryId=foconis-release \
-Durl=https://mvnrepo.foconis.de/repository/release/
rm -rf "$POM"
else
mvn deploy:deploy-file -DgroupId="$GROUP_ID" \
-DartifactId="$ARTIFACT_ID" \
-Dversion="${VERSION}-jakarta" \
-Dpackaging="$PACKAGING" \
-Dclassifier="$CLASSIFIER" \
-Dfile="$JAKARTA_FILE" \
-DrepositoryId=foconis-release \
-Durl=https://mvnrepo.foconis.de/repository/release/ \
-DgeneratePom=false
fi
}
set -e
transformFile https://repo1.maven.org/maven2 "net.bull.javamelody" "javamelody-core" "1.92.0" "jar"
transformFile https://repo1.maven.org/maven2 "net.bull.javamelody" "javamelody-core" "1.92.0" "jar" "sources"
transformFile https://repo1.maven.org/maven2 "net.bull.javamelody" "javamelody-core" "1.92.0" "jar" "javadoc"
transformFile https://repo1.maven.org/maven2 "net.bull.javamelody" "javamelody-spring-boot-starter" "1.92.0" "jar"
transformFile https://repo1.maven.org/maven2 "net.bull.javamelody" "javamelody-spring-boot-starter" "1.92.0" "jar" "sources"
transformFile https://repo1.maven.org/maven2 "net.bull.javamelody" "javamelody-spring-boot-starter" "1.92.0" "jar" "javadoc"
transformFile https://repo1.maven.org/maven2 "com.vaadin" "vaadin-server" "8.19.0" "jar"
transformFile https://repo1.maven.org/maven2 "com.vaadin" "vaadin-server" "8.19.0" "jar" "sources"
transformFile https://repo1.maven.org/maven2 "com.vaadin" "vaadin-server" "8.19.0" "jar" "javadoc"
transformFile https://repo1.maven.org/maven2 "com.vaadin" "vaadin-spring" "3.2.1" "jar"
transformFile https://repo1.maven.org/maven2 "com.vaadin" "vaadin-spring" "3.2.1" "jar" "sources"
transformFile https://repo1.maven.org/maven2 "com.vaadin" "vaadin-spring" "3.2.1" "jar" "javadoc"
transformFile https://maven.vaadin.com/vaadin-addons "com.vaadin" "vaadin-charts" "4.3.1" "jar"
transformFile https://maven.vaadin.com/vaadin-addons "com.vaadin" "vaadin-charts" "4.3.1" "jar" "sources"
transformFile https://maven.vaadin.com/vaadin-addons "com.vaadin" "vaadin-charts" "4.3.1" "jar" "javadoc"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment