diff --git a/ui/README.md b/ui/README.md index 225656f3077..731c9765def 100644 --- a/ui/README.md +++ b/ui/README.md @@ -106,9 +106,9 @@ server { A production-ready Docker container can also be built with the provided Dockerfile and build script. -Make sure Docker is installed, then run build.sh: +Make sure Docker is installed, then run: - ./build.sh + bash tools/docker.sh Change the example configuration in `nginx/default.conf` according to your needs. diff --git a/ui/docs/api/apis.old b/ui/tools/api/apis.old similarity index 100% rename from ui/docs/api/apis.old rename to ui/tools/api/apis.old diff --git a/ui/docs/api/apis.primate.sh b/ui/tools/api/apis.primate.sh similarity index 95% rename from ui/docs/api/apis.primate.sh rename to ui/tools/api/apis.primate.sh index b12d00486c9..568eece6f0b 100644 --- a/ui/docs/api/apis.primate.sh +++ b/ui/tools/api/apis.primate.sh @@ -6,8 +6,8 @@ grep store.getters.apis -R . | sed "s/' in.*//g" | sed "s/').*//g" | grep "'" | grep 'permission:\ \[' -R config | sed "s/.*permission: \['//g" | grep -v .js | sed "s/', '/\\n/g" | sed "s/'.*//g" >> apis.txt cat apis.txt | sort | uniq > apis.uniq rm -f apis.txt -mv apis.uniq ../docs/api/apis.txt -cd ../docs/api +mv apis.uniq ../tools/api/apis.txt +cd ../tools/api diff -Naur apis.old apis.txt | grep ^- | grep -v "^--" | sed 's/^-//g' | grep -v -i -e cisco -e nicira -e baremetal -e srx -e f5 -e brocade -e palo -e autoscale -e counter -e condition -e ucs -e netscaler -e bigswitch -e ovs -e globalloadbalancer -e opendaylight -e region -e quota | sort | uniq > apis.remaining echo "$(cat apis.txt | wc -l) APIs are supported by Primate" diff --git a/ui/docs/api/apis.remaining b/ui/tools/api/apis.remaining similarity index 100% rename from ui/docs/api/apis.remaining rename to ui/tools/api/apis.remaining diff --git a/ui/build.sh b/ui/tools/docker.sh similarity index 98% rename from ui/build.sh rename to ui/tools/docker.sh index 059d3748239..21406b6919e 100755 --- a/ui/build.sh +++ b/ui/tools/docker.sh @@ -28,4 +28,4 @@ LABEL_DATE="--label \"org.opencontainers.image.created=${DATE}\"" GIT_REV="$(git rev-parse HEAD)" LABEL_GIT_REV="--label \"org.opencontainers.image.revision=${GIT_REV}\"" -docker build -t cloudstack-primate ${LABEL_DATE} ${LABEL_GIT_REV} ${LABEL_GIT_TAG} . +docker build -t cloudstack-primate ${LABEL_DATE} ${LABEL_GIT_REV} ${LABEL_GIT_TAG} .. diff --git a/ui/legacy/fieldsFromOldLayout.json b/ui/tools/legacy/fieldsFromOldLayout.json similarity index 100% rename from ui/legacy/fieldsFromOldLayout.json rename to ui/tools/legacy/fieldsFromOldLayout.json diff --git a/ui/legacy/filterTranslations.py b/ui/tools/legacy/filterTranslations.py similarity index 100% rename from ui/legacy/filterTranslations.py rename to ui/tools/legacy/filterTranslations.py diff --git a/ui/legacy/generateOldLayout.js b/ui/tools/legacy/generateOldLayout.js similarity index 100% rename from ui/legacy/generateOldLayout.js rename to ui/tools/legacy/generateOldLayout.js diff --git a/ui/legacy/manualNeededLabels.json b/ui/tools/legacy/manualNeededLabels.json similarity index 100% rename from ui/legacy/manualNeededLabels.json rename to ui/tools/legacy/manualNeededLabels.json diff --git a/ui/tools/performrelease.sh b/ui/tools/performrelease.sh new file mode 100755 index 00000000000..13354008814 --- /dev/null +++ b/ui/tools/performrelease.sh @@ -0,0 +1,153 @@ +#!/bin/sh +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +version='TESTBUILD' +sourcedir=~/cloudstack-primate +outputdir=/tmp/cloudstack-primate-build/ +branch='master' +tag='no' +certid='X' +committosvn='X' + +usage(){ + echo "usage: $0 -v version [-b branch] [-s source dir] [-o output dir] [-t] [-u] [-c] [-h]" + echo " -v sets the version" + echo " -b sets the branch (defaults to 'master')" + echo " -s sets the source directory (defaults to $sourcedir)" + echo " -o sets the output directory (defaults to $outputdir)" + echo " -t tags the git repo with the version" + echo " -u sets the certificate ID to sign with (if not provided, the default key is attempted)" + echo " -c commits build artifacts to cloudstack dev dist dir in svn" + echo " -h" +} + +while getopts v:s:o:b:u:tch opt +do + case "$opt" in + v) version="$OPTARG";; + s) sourcedir="$OPTARG";; + o) outputdir="$OPTARG";; + b) branch="$OPTARG";; + t) tag="yes";; + u) certid="$OPTARG";; + c) committosvn="yes";; + h) usage + exit 0;; + /?) # unknown flag + usage + exit 1;; + esac +done +shift `expr $OPTIND - 1` + +if [ $version == "TESTBUILD" ]; then + echo >&2 "A version must be specified with the -v option: $0 -v 1.0.0.RC1" + exit 1 +fi + +echo "Using version: $version" +echo "Using source directory: $sourcedir" +echo "Using output directory: $outputdir" +echo "Using branch: $branch" +if [ "$tag" == "yes" ]; then + if [ "$certid" == "X" ]; then + echo "Tagging the branch with the version number, and signing the branch with your default certificate." + else + echo "Tagging the branch with the version number, and signing the branch with certificate ID $certid." + fi +else + echo "The branch will not be tagged. You should consider doing this." +fi + +echo $PWD + +exit + +if [ -d "$outputdir" ]; then + rm -r $outputdir/* +else + mkdir $outputdir +fi + +cd $sourcedir + +echo 'checking out correct branch' +git checkout $branch + +git clean -f + +export commitsh=`git show HEAD | head -n 1 | cut -d ' ' -f 2` +echo "releasing as $commitsh" + +echo 'archiving' +git archive --format=tar --prefix=apache-cloudstack-primate-$version-src/ $branch > $outputdir/apache-cloudstack-primate-$version-src.tar +bzip2 $outputdir/apache-cloudstack-primate-$version-src.tar + +cd $outputdir +echo 'armor' +if [ "$certid" == "X" ]; then + gpg -v --armor --output apache-cloudstack-primate-$version-src.tar.bz2.asc --detach-sig apache-cloudstack-primate-$version-src.tar.bz2 +else + gpg -v --default-key $certid --armor --output apache-cloudstack-primate-$version-src.tar.bz2.asc --detach-sig apache-cloudstack-primate-$version-src.tar.bz2 +fi + +echo 'md5' +gpg -v --print-md MD5 apache-cloudstack-primate-$version-src.tar.bz2 > apache-cloudstack-primate-$version-src.tar.bz2.md5 + +echo 'sha512' +gpg -v --print-md SHA512 apache-cloudstack-primate-$version-src.tar.bz2 > apache-cloudstack-primate-$version-src.tar.bz2.sha512 + +echo 'verify' +gpg -v --verify apache-cloudstack-primate-$version-src.tar.bz2.asc apache-cloudstack-primate-$version-src.tar.bz2 + +if [ "$tag" == "yes" ]; then + echo 'tag' + cd $sourcedir + if [ "$certid" == "X" ]; then + git tag -s $version -m "Tagging release $version on branch $branch." + else + git tag -u $certid -s $version -m "Tagging release $version on branch $branch." + fi +fi + +if [ "$committosvn" == "yes" ]; then + echo 'committing artifacts to svn' + rm -Rf /tmp/cloudstack-dev-dist + cd /tmp + svn co https://dist.apache.org/repos/dist/dev/cloudstack/ cloudstack-dev-dist + cd cloudstack-dev-dist + if [ -d "primate-$version" ]; then + cd primate-$version + svn rm * + else + mkdir primate-$version + svn add primate-$version + cd primate-$version + fi + cp $outputdir/apache-cloudstack-primate-$version-src.tar.bz2 . + cp $outputdir/apache-cloudstack-primate-$version-src.tar.bz2.asc . + cp $outputdir/apache-cloudstack-primate-$version-src.tar.bz2.md5 . + cp $outputdir/apache-cloudstack-primate-$version-src.tar.bz2.sha512 . + svn add apache-cloudstack-primate-$version-src.tar.bz2 + svn add apache-cloudstack-primate-$version-src.tar.bz2.asc + svn add apache-cloudstack-primate-$version-src.tar.bz2.md5 + svn add apache-cloudstack-primate-$version-src.tar.bz2.sha512 + svn commit -m "Committing release candidate artifacts for $version to dist/dev/cloudstack in preparation for release vote" +fi + +echo "completed. use commit-sh of $commitsh when starting the VOTE thread"