From 9ebbe1d12a97ac44a62a4a853515710d9d8b5c6c Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Thu, 7 Apr 2016 20:36:54 -0400 Subject: [PATCH 1/1] Add odlsign-bulk script This script can sign all projects within a staging repo in bulk. Also update odlrelease signing script to trim 3 directories. Change-Id: I7e112122c127b880fb6621232e297c6c80abf7cd Signed-off-by: Thanh Ha --- scripts/odlrelease | 2 +- scripts/odlsign-bulk | 67 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100755 scripts/odlsign-bulk diff --git a/scripts/odlrelease b/scripts/odlrelease index 91e68e7c8..61526084e 100755 --- a/scripts/odlrelease +++ b/scripts/odlrelease @@ -37,7 +37,7 @@ function sign { echo "Fetching artifacts from $URL" # Fetch Artifacts wget --recursive --execute robots=off --no-parent --quiet \ - --no-host-directories --cut-dirs=2 \ + --no-host-directories --cut-dirs=3 \ $URL # Remove files that don't need signing diff --git a/scripts/odlsign-bulk b/scripts/odlsign-bulk new file mode 100755 index 000000000..6a9acf8d0 --- /dev/null +++ b/scripts/odlsign-bulk @@ -0,0 +1,67 @@ +#!/bin/bash + +# @License EPL-1.0 +############################################################################## +# Copyright (c) 2016 The Linux Foundation and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################## + +function print_usage { + echo "Usage: $0 " + echo "" + echo " : The Nexus staging repo ID to sign." +} + +if [ -z "$1" ]; then + print_usage + exit 1 +fi + +SIGNREPO=$1 +SIGNATURES_DIR="gpg-signatures" +TMPFILE=/tmp/project-list.txt + +wget -q https://nexus.opendaylight.org/content/repositories/$SIGNREPO/org/opendaylight/ -O $TMPFILE +PROJECTS=`grep '/' $TMPFILE | sed -e 's#/.*##' -e 's#.*/">##'` +echo "Projects detected: $PROJECTS" + +# +# Prepare staging repo to upload signatures to +# + +if [ -d "$SIGNATURES_DIR" ]; then + echo "$SIGNATURES_DIR directory exists. Clearing..." + rm -rf $SIGNATURES_DIR +fi +mkdir $SIGNATURES_DIR + +mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7:deploy-staged-repository \ + -DskipStagingRepositoryClose=true \ + -DrepositoryDirectory="$SIGNATURES_DIR" \ + -DnexusUrl=https://nexus.opendaylight.org/ \ + -DstagingProfileId="425e43800fea70" \ + -DserverId="opendaylight.staging" | tee /tmp/deploy-staged-repository.log + +STAGED_REPO_ID=`grep 'Created staging repository with ID' /tmp/deploy-staged-repository.log | sed -e 's/.*ID "//' -e 's/".*//'` +echo "Staged Repo: $STAGED_REPO" + +# +# Finally retrieve and sign artifacts. +# + +for i in $PROJECTS +do + echo "Signing $i" + ./odlrelease sign http://nexus.opendaylight.org/content/repositories/$SIGNREPO/org/opendaylight/$i/ + mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.7:deploy-staged-repository \ + -DskipStagingRepositoryClose=true \ + -DstagingRepositoryId=$STAGED_REPO_ID \ + -DrepositoryDirectory="$SIGNATURES_DIR" \ + -DnexusUrl=https://nexus.opendaylight.org/ \ + -DstagingProfileId="425e43800fea70" \ + -DserverId="opendaylight.staging" +done -- 2.36.6