├── README.asciidoc ├── forge_gvm.sh ├── release_forge.sh └── release_furnace.sh /README.asciidoc: -------------------------------------------------------------------------------- 1 | Forge Release Scripts 2 | ===================== 3 | 4 | This is where release scripts are kept 5 | 6 | * *release_furnace.sh*: Releases the Furnace Container along with its container implementations. Requires the release version and the development version as parameters 7 | * *release_forge.sh*: Releases JBoss Forge. Requires the release version and the development version as parameters 8 | * *forge_gvm.sh*: Releases JBoss Forge in GVM (http://gvmtool.net). 9 | -------------------------------------------------------------------------------- /forge_gvm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | : ${1:?"Must specify an action ('release', 'set-version', 'broadcast', 'broadcast-freeform')"} 3 | : ${2:?"Must specify release version. Ex: 2.0.1.Final"} 4 | 5 | ACTION=$1 6 | RELEASED_VERSION=$2 7 | 8 | if [ "$ACTION" = "release" ]; then 9 | curl -X POST \ 10 | -H "consumer_key: 612a03501e1e62e0f0f67f656b727e50" \ 11 | -H "consumer_token: 0643c1b98def1c852448377261c3101616f29a1e3cf2d2a62ccf5e32d4afea0e" \ 12 | -H "Content-Type: application/json" \ 13 | -H "Accept: application/json" \ 14 | -d '{"candidate": "jbossforge", "version": "'"$RELEASED_VERSION"'", "url": "http://download.jboss.org/forge/releases/'$RELEASED_VERSION'/forge-distribution-'$RELEASED_VERSION'-offline.zip"}' \ 15 | https://gvm-vendor.herokuapp.com/release 16 | fi 17 | 18 | if [ "$ACTION" = "set-version" ]; then 19 | curl -X PUT \ 20 | -H "consumer_key: 612a03501e1e62e0f0f67f656b727e50" \ 21 | -H "consumer_token: 0643c1b98def1c852448377261c3101616f29a1e3cf2d2a62ccf5e32d4afea0e" \ 22 | -H "Content-Type: application/json" \ 23 | -H "Accept: application/json" \ 24 | -d '{"candidate": "jbossforge", "default": "'"$RELEASED_VERSION"'"}' \ 25 | https://gvm-vendor.herokuapp.com/default 26 | fi 27 | 28 | if [ "$ACTION" = "broadcast" ]; then 29 | curl -X POST \ 30 | -H "consumer_key: 612a03501e1e62e0f0f67f656b727e50" \ 31 | -H "consumer_token: 0643c1b98def1c852448377261c3101616f29a1e3cf2d2a62ccf5e32d4afea0e" \ 32 | -H "Content-Type: application/json" \ 33 | -H "Accept: application/json" \ 34 | -d '{"candidate": "jbossforge", "version": "'"$RELEASED_VERSION"'", "hashtag": "JBossForge"}' \ 35 | https://gvm-vendor.herokuapp.com/announce/struct 36 | fi 37 | 38 | if [ "$ACTION" = "broadcast-freeform" ]; then 39 | curl -X POST \ 40 | -H "consumer_key: CONSUMER_KEY" \ 41 | -H "consumer_token: CONSUMER_TOKEN" \ 42 | -H "Content-Type: application/json" \ 43 | -H "Accept: application/json" \ 44 | -d '{"text": "'"$RELEASED_VERSION"'"}' \ 45 | https://gvm-vendor.herokuapp.com/announce/freeform 46 | fi 47 | -------------------------------------------------------------------------------- /release_forge.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | : ${1:?"Must specify release version. Ex: 2.0.1.Final"} 3 | : ${2:?"Must specify next development version. Ex: 2.0.2-SNAPSHOT"} 4 | 5 | if [ -f "$HOME/.profile" ] 6 | then 7 | . $HOME/.profile 8 | fi 9 | 10 | function release_forge { 11 | REL=$1 12 | DEV=$2 13 | REPO=$3 14 | REPODIR=$4 15 | git clone $REPO $REPODIR 16 | cd $REPODIR 17 | echo Releasing \"$REPO\" - $1 \(Next dev version is $2\) 18 | mvn release:prepare release:perform \ 19 | -DdevelopmentVersion=$DEV \ 20 | -DreleaseVersion=$REL \ 21 | -Dtag=$REL \ 22 | -Darguments=-DskipTests 23 | cd .. 24 | } 25 | 26 | WORK_DIR=`mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir'` 27 | echo "Working in temp directory $WORK_DIR" 28 | cd $WORK_DIR 29 | 30 | release_forge $1 $2 git@github.com:forge/core.git forge $3 31 | echo "Release finished in temp directory $WORK_DIR" 32 | 33 | echo "Deploying to http://download.jboss.org/forge" 34 | mkdir -p $WORK_DIR/releases/$1 35 | mv $WORK_DIR/forge/target/checkout/dist/target/*.zip $WORK_DIR/releases/$1 36 | scp -r $WORK_DIR/releases forge@filemgmt.jboss.org:/downloads_htdocs/forge/ 37 | 38 | echo "Displaying SHA256 checksums (for Homebrew)" 39 | sha256sum $WORK_DIR/releases/*.zip 40 | 41 | echo "Cleaning up temp directory $WORK_DIR" 42 | rm -rf $WORK_DIR 43 | 44 | xdg-open https://repository.jboss.org/nexus/index.html 45 | -------------------------------------------------------------------------------- /release_furnace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | : ${1:?"Must specify release version. Ex: 2.0.1.Final"} 3 | : ${2:?"Must specify next development version. Ex: 2.0.2-SNAPSHOT"} 4 | 5 | if [ -f "$HOME/.profile" ] 6 | then 7 | . $HOME/.profile 8 | fi 9 | 10 | function release_furnace { 11 | REL=$1 12 | DEV=$2 13 | REPO=$3 14 | REPODIR=$4 15 | git clone $REPO $REPODIR 16 | cd $REPODIR 17 | echo Releasing \"$REPO\" - $1 \(Next dev version is $2\) 18 | mvn release:prepare release:perform \ 19 | -DdevelopmentVersion=$DEV \ 20 | -DreleaseVersion=$REL \ 21 | -Dtag=$REL \ 22 | -Darguments=-DskipTests \ 23 | -Dversion.furnace=$REL 24 | cd .. 25 | } 26 | 27 | WORK_DIR=`mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir'` 28 | echo "Working in temp directory $WORK_DIR" 29 | cd $WORK_DIR 30 | release_furnace $1 $2 git@github.com:forge/furnace.git furnace 31 | release_furnace $1 $2 git@github.com:forge/furnace-simple.git furnace-simple 32 | release_furnace $1 $2 git@github.com:forge/furnace-cdi.git furnace-cdi 33 | xdg-open https://repository.jboss.org/nexus/index.html 34 | echo "Cleaning up temp directory $WORK_DIR" 35 | rm -rf $WORK_DIR 36 | --------------------------------------------------------------------------------