From c43d873b9bc494bd0ff0d6a13d20cfde60b1b3e4 Mon Sep 17 00:00:00 2001 From: Roberto Perez Alcolea Date: Wed, 3 Mar 2021 15:51:10 -0800 Subject: [PATCH] Upgrade nebula.netflixoss to replace bintray publication and update TravisCI secrets (#1380) --- .gitignore | 3 +++ .travis.yml | 16 +++++++++------- build.gradle | 2 +- buildViaTravis.sh | 8 +++++--- gradle/wrapper/gradle-wrapper.properties | 2 +- installViaTravis.sh | 15 +++------------ secrets/signing-key.enc | Bin 0 -> 6800 bytes 7 files changed, 22 insertions(+), 24 deletions(-) create mode 100644 secrets/signing-key.enc diff --git a/.gitignore b/.gitignore index d10cdf4f5..e02a71942 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,6 @@ atlassian-ide-plugin.xml # NetBeans specific files/directories .nbattrs + +# publishing secrets +secrets/signing-key diff --git a/.travis.yml b/.travis.yml index bc7f5145f..86a18f0f5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,14 +3,16 @@ dist: xenial language: java jdk: - openjdk8 -install: ./installViaTravis.sh -script: ./buildViaTravis.sh +install: "./installViaTravis.sh" +script: "./buildViaTravis.sh" env: global: - - secure: H5Gre2D7TjPp0UzMgWAlH6m/MifDk0JEQPTLU1Qr+Dm6fBSfozjYs1y29hk9beM936IDGdihYPRon6t1ZNWX1vQKGrmva2ynMwXs12y/F6GEEgjLRVLpX+JAfANZzVDcnIhdWEb8mWQ4ESh0+i2mOMJFwWFhGy2WQuobHCkrn3E= - - secure: eFCW3J9zX0eNMk1PCHGy4EXFGp5PiozIyvO6SB2kna0Jt6CdY3UA/STgpRtReT1iTW/C/lyYb+h6H8FISvTkJhVKITDoVcOpwUXCYxQdXEvhL633z9LYQcKexricKzP2hpePcmEGmNcVNxn9mrIRdo28ds4XOT7dpU54+ZmLTpU= - - secure: T3ROxa73aSSYdwjPJUzjqkMjxHV+g4scdI5pJzTIsQ3fwaoZ3cPubLPOy2pYx59a4MhpdNuT1or/yr/khToPYHxHgj9pGZ8JHLRYjzEEmfDj2WyhVWeYC88Q+4Ncc2JSMT5lHKS/j+N3R9pZf/Cuy9keyvLEKQlXBOBPBf7MWcc= - - secure: fIXSx1SIXJF8//Qo9zmLWKn+APW1sYxw8V1U47kfQTw3Ks2RTg8J7z7gdP4YObWrrrMjZgtCJOWolCNdCPJd8bxypv8o4YAw4w/nDrs/m7p0HcIirZypEGWYuju3g1JkZzQkvCIXIYMfHL0jlYMvjsY9Pjn5rgpFGqEW6lloOCE= + - secure: Hnx5B8Ubo+Of0wzXY9Vv8Bna7dk+CJaMUswYIvbEG26DCGXCNvNa61YoOzCg+hQGyqC90PFnCwwvtqyjk/meePZMd268p5vQIm0v8dcl3xYaSAr4WyGhbfqfTv7kZ1pmw1Ukn+JRqt9fV5CbPJ7zh6NtX59GTL8zMIqh8JwLpgg= + - secure: TaYL6JWsvbza6Q0dhxdmkil8cJpjG0CTmjdU5lJloscNhYTtZefhl9BMWyUjab5qQ9/lO6EG1cwzRehjhPanVz7HF0MDzIvVUKPwvzXkU/tyz4o6Bn5N1mVgjOGEQ9lLdi+0eRppnmIMRgkAmg/R3aHOsEQMQGVB6ztGEs7qSlI= + - secure: jUB1UJO55I8UR39JsbH1gWX7/hpFa8giVyrCJaXeIephNPtP0pd/erMYUjbNxbU2uub5VLuSzHVKUFbg32dG/x+du5LiKbpoZt0FqOjkbZAXLb8S8DP1AW28cigvtubzRQVvBu29bJKthRRr0l9oIqbH5yY329AOGdV/eHTt5c4= + - secure: QU9AWwz8lH+Ciexj9Ebie7XByaByJzYtzYrAu/A08sd6jAWs++e6jTuPQOITNxVmTEsUaQGkD69qIfq9P+bXiQiKNaXEaRUeW3FxjZB51rZ46yo2gc+ES4ehmjF0KcLUF6/jg/r2aMaDwWCFG717KE01cbki4qHrJR8EbhMBtak= + - secure: Xw3pQwFujSwwQGmFPKpQCuBo/KQirZlcQCO4VNEBYfEFgEQ5oIQDix/WJvcTHuVtRzg7oyiYT62TmSxQxEeuq4QtsHfx4XWhnhHhB1yVPq1UCxcjsLoI0ZPjf68GaidAj7WAAwI+UE8jNsl250AITLqVtPD4igG8pihXjs4Kb1k= + - secure: qVEHVj3cCoJwSYZDRON/9KjgmzjYgLgEYdJT2cfTOVw/KILCJ2XRwUBAWaAovi6CGzu36zXbsgkE2ZIZEkdIelQv9kzNVslXekeFrOPWl59IqW6sIxeKtXW8BPdaUQSghmtwezq6Z4Qg0ZdVnljpg/OkhlXKXL3Iy6MFrEw5HzY= cache: directories: - - $HOME/.gradle/caches + - "$HOME/.gradle/caches" diff --git a/build.gradle b/build.gradle index 7ea5b18ba..6fc828159 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } plugins { - id 'nebula.netflixoss' version '8.8.1' + id 'nebula.netflixoss' version '9.1.0' id 'org.gretty' version '2.1.0' } diff --git a/buildViaTravis.sh b/buildViaTravis.sh index 28518353a..36b9f97b3 100755 --- a/buildViaTravis.sh +++ b/buildViaTravis.sh @@ -6,18 +6,20 @@ if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then ./gradlew build elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" == "" ]; then echo -e 'Build Branch with Snapshot => Branch ['$TRAVIS_BRANCH']' - ./gradlew -Prelease.travisci=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" -PsonatypeUsername="${sonatypeUsername}" -PsonatypePassword="${sonatypePassword}" build snapshot + ./gradlew -Prelease.travisci=true -PnetflixOss.username="$NETFLIX_OSS_REPO_USERNAME" -PnetflixOss.password="$NETFLIX_OSS_REPO_PASSWORD" -Psonatype.signingPassword="$NETFLIX_OSS_SIGNING_PASSWORD" build snapshot elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" != "" ]; then echo -e 'Build Branch for Release => Branch ['$TRAVIS_BRANCH'] Tag ['$TRAVIS_TAG']' case "$TRAVIS_TAG" in *-rc\.*) - ./gradlew -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" -PsonatypeUsername="${sonatypeUsername}" -PsonatypePassword="${sonatypePassword}" -PnetflixossAltCandidateRepo=true candidate + ./gradlew -Prelease.travisci=true -PnetflixOss.username="$NETFLIX_OSS_REPO_USERNAME" -PnetflixOss.password="$NETFLIX_OSS_REPO_PASSWORD" -Psonatype.signingPassword="$NETFLIX_OSS_SIGNING_PASSWORD" -Prelease.useLastTag=true candidate ;; *) - ./gradlew -Prelease.travisci=true -Prelease.useLastTag=true -PbintrayUser="${bintrayUser}" -PbintrayKey="${bintrayKey}" -PsonatypeUsername="${sonatypeUsername}" -PsonatypePassword="${sonatypePassword}" final + ./gradlew -Prelease.travisci=true -PnetflixOss.username="$NETFLIX_OSS_REPO_USERNAME" -PnetflixOss.password="$NETFLIX_OSS_REPO_PASSWORD" -Psonatype.username="$NETFLIX_OSS_SONATYPE_USERNAME" -Psonatype.password="$NETFLIX_OSS_SONATYPE_PASSWORD" -Psonatype.signingPassword="$NETFLIX_OSS_SIGNING_PASSWORD" -Prelease.useLastTag=true final ;; esac else echo -e 'WARN: Should not be here => Branch ['$TRAVIS_BRANCH'] Tag ['$TRAVIS_TAG'] Pull Request ['$TRAVIS_PULL_REQUEST']' ./gradlew build fi + + diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 731f8f369..58bd5dd0b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip diff --git a/installViaTravis.sh b/installViaTravis.sh index 68e45a05f..82cf1b880 100755 --- a/installViaTravis.sh +++ b/installViaTravis.sh @@ -1,16 +1,7 @@ #!/bin/bash # This script will build the project. -if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - echo -e "Assemble Pull Request #$TRAVIS_PULL_REQUEST => Branch [$TRAVIS_BRANCH]" - ./gradlew assemble -elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" == "" ]; then - echo -e 'Assemble Branch with Snapshot => Branch ['$TRAVIS_BRANCH']' - ./gradlew -Prelease.travisci=true assemble -elif [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_TAG" != "" ]; then - echo -e 'Assemble Branch for Release => Branch ['$TRAVIS_BRANCH'] Tag ['$TRAVIS_TAG']' - ./gradlew -Prelease.travisci=true -Prelease.useLastTag=true assemble -else - echo -e 'WARN: Should not be here => Branch ['$TRAVIS_BRANCH'] Tag ['$TRAVIS_TAG'] Pull Request ['$TRAVIS_PULL_REQUEST']' - ./gradlew assemble +if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]; then + echo "Decrypting publishing credentials" + openssl aes-256-cbc -k "$NETFLIX_OSS_SIGNING_FILE_PASSWORD" -in secrets/signing-key.enc -out secrets/signing-key -d fi diff --git a/secrets/signing-key.enc b/secrets/signing-key.enc new file mode 100644 index 0000000000000000000000000000000000000000..4930271a622ca66d679cc8aa4e547a4800dc9ed0 GIT binary patch literal 6800 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 literal 0 HcmV?d00001