Skip to content

Instantly share code, notes, and snippets.

@usmansaleem
Created March 10, 2021 02:09
Show Gist options
  • Save usmansaleem/c0f443e93324e7ffbd9bbd0806f9f4ff to your computer and use it in GitHub Desktop.
Save usmansaleem/c0f443e93324e7ffbd9bbd0806f9f4ff to your computer and use it in GitHub Desktop.
Export maven artifacts from bintray to cloudsmith consensys/maven
#! /bin/bash
set -euo pipefail
export CLOUDSMITH_API_KEY=YOUR_CS_API_KEY
repo="https://consensys.bintray.com/pegasys-repo/tech/pegasys/ethsigner/internal"
declare -a versions=("0.2.0" "0.3.0" "0.3.1-SNAPSHOT" "0.4.1-SNAPSHOT" "0.5.0" "0.5.1-SNAPSHOT" "0.6.0" "0.6.1-SNAPSHOT" "0.7.0" "0.7.1-SNAPSHOT" "0.7.1" "0.7.2-SNAPSHOT" "20.10.0" "20.10.1-SNAPSHOT")
declare -a packages=("app" "azure" "commandline" "common" "core" "file-based" "hashicorp" "multifile-based" "multikey" "multiplatform" "raw" "signing-api" "subcommands")
ENV_DIR=./build/tmp/cloudsmith-env
if [[ -d ${ENV_DIR} ]] ; then
source ${ENV_DIR}/bin/activate
else
python3 -m venv ${ENV_DIR}
source ${ENV_DIR}/bin/activate
fi
python3 -m pip install --upgrade cloudsmith-cli
for ver in "${versions[@]}"
do
for pkg in "${packages[@]}"
do
response=$(curl --write-out '%{http_code}' --silent -L --output /dev/null "${repo}/${pkg}/${ver}")
echo "${repo}/${pkg}/${ver} - ${response}"
if [[ $response -eq 200 ]]; then
mkdir -p "./repo/${pkg}/${ver}"
pushd "./repo/${pkg}/${ver}"
curl -v -f -L "${repo}/${pkg}/${ver}/${pkg}-${ver}.pom" --output "${pkg}-${ver}.pom"
curl -v -f -L "${repo}/${pkg}/${ver}/${pkg}-${ver}.jar" --output "${pkg}-${ver}.jar"
curl -v -f -L "${repo}/${pkg}/${ver}/${pkg}-${ver}-sources.jar" --output "${pkg}-${ver}-sources.jar"
curl -v -f -L "${repo}/${pkg}/${ver}/${pkg}-${ver}-javadoc.jar" --output "${pkg}-${ver}-javadoc.jar"
# upload to cloudsmith consensys/maven
cloudsmith push maven consensys/maven --pom-file "${pkg}-${ver}.pom" \
--sources-file "${pkg}-${ver}-sources.jar" \
--javadoc-file "${pkg}-${ver}-javadoc.jar" \
"${pkg}-${ver}.jar"
popd
fi
done
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment