diff --git a/ui/tools/api/apis.old b/ui/tools/api/apis.old
deleted file mode 100644
index 661c8a1423b..00000000000
--- a/ui/tools/api/apis.old
+++ /dev/null
@@ -1,461 +0,0 @@
-activateProject
-addAccountToProject
-addBaremetalDhcp
-addBaremetalPxeKickStartServer
-addBaremetalRct
-addCiscoAsa1000vResource
-addCiscoVnmcResource
-addCluster
-addHost
-addImageStore
-addIpToNic
-addLdapConfiguration
-addNetscalerLoadBalancer
-addNetworkServiceProvider
-addNicToVirtualMachine
-addRegion
-addResourceDetail
-addTrafficType
-addUcsManager
-addVmwareDc
-addVpnUser
-archiveAlerts
-archiveEvents
-assignCertToLoadBalancer
-assignToGlobalLoadBalancerRule
-assignToLoadBalancerRule
-assignVirtualMachine
-associateIpAddress
-attachIso
-attachVolume
-authorizeSamlSso
-authorizeSecurityGroupEgress
-authorizeSecurityGroupIngress
-cancelHostMaintenance
-cancelStorageMaintenance
-changeOutOfBandManagementPassword
-cloudianIsEnabled
-cloudianSsoLogin
-configureHAForHost
-configureInternalLoadBalancerElement
-configureOutOfBandManagement
-configureOvsElement
-configureVirtualRouterElement
-copyIso
-copyTemplate
-createAccount
-createAffinityGroup
-createAutoScalePolicy
-createAutoScaleVmGroup
-createAutoScaleVmProfile
-createCondition
-createDiskOffering
-createDomain
-createEgressFirewallRule
-createFirewallRule
-createGlobalLoadBalancerRule
-createLBHealthCheckPolicy
-createLBStickinessPolicy
-createLoadBalancer
-createLoadBalancerRule
-createManagementNetworkIpRange
-createNetwork
-createNetworkACL
-createNetworkACLList
-createNetworkOffering
-createPhysicalNetwork
-createPod
-createPortableIpRange
-createPortForwardingRule
-createPrivateGateway
-createProject
-createRemoteAccessVpn
-createRole
-createRolePermission
-createSecondaryStagingStore
-createSecurityGroup
-createServiceOffering
-createSnapshot
-createSnapshotFromVMSnapshot
-createSnapshotPolicy
-createSSHKeyPair
-createStaticRoute
-createStorageNetworkIpRange
-createStoragePool
-createTags
-createTemplate
-createUser
-createVlanIpRange
-createVMSnapshot
-createVolume
-createVPC
-createVPCOffering
-createVpnConnection
-createVpnCustomerGateway
-createVpnGateway
-createZone
-dedicateCluster
-dedicateGuestVlanRange
-dedicateHost
-dedicatePod
-dedicatePublicIpRange
-dedicateZone
-deleteAccount
-deleteAccountFromProject
-deleteAffinityGroup
-deleteAlerts
-deleteBaremetalRct
-deleteBigSwitchBcfDevice
-deleteBrocadeVcsDevice
-deleteCiscoAsa1000vResource
-deleteCiscoNexusVSM
-deleteCiscoVnmcResource
-deleteCluster
-deleteCondition
-deleteDiskOffering
-deleteDomain
-deleteEgressFirewallRule
-deleteEvents
-deleteF5LoadBalancer
-deleteFirewallRule
-deleteGlobalLoadBalancerRule
-deleteHost
-deleteImageStore
-deleteIso
-deleteLBHealthCheckPolicy
-deleteLBStickinessPolicy
-deleteLdapConfiguration
-deleteLoadBalancer
-deleteLoadBalancerRule
-deleteManagementNetworkIpRange
-deleteNetscalerControlCenter
-deleteNetscalerLoadBalancer
-deleteNetwork
-deleteNetworkACL
-deleteNetworkACLList
-deleteNetworkOffering
-deleteNetworkServiceProvider
-deleteNiciraNvpDevice
-deleteOpenDaylightController
-deletePaloAltoFirewall
-deletePhysicalNetwork
-deletePod
-deletePortableIpRange
-deletePortForwardingRule
-deletePrivateGateway
-deleteProject
-deleteProjectInvitation
-deleteRemoteAccessVpn
-deleteRole
-deleteRolePermission
-deleteSecondaryStagingStore
-deleteSecurityGroup
-deleteServiceOffering
-deleteSnapshot
-deleteSnapshotPolicies
-deleteSrxFirewall
-deleteSSHKeyPair
-deleteSslCert
-deleteStaticRoute
-deleteStorageNetworkIpRange
-deleteStoragePool
-deleteTags
-deleteTemplate
-deleteUcsManager
-deleteUser
-deleteVlanIpRange
-deleteVMSnapshot
-deleteVolume
-deleteVPC
-deleteVPCOffering
-deleteVpnConnection
-deleteVpnCustomerGateway
-deleteVpnGateway
-deleteZone
-deployVirtualMachine
-destroyRouter
-destroySystemVm
-destroyVirtualMachine
-detachIso
-detachVolume
-disableAccount
-disableAutoScaleVmGroup
-disableCiscoNexusVSM
-disableHAForCluster
-disableHAForHost
-disableHAForZone
-disableOutOfBandManagementForCluster
-disableOutOfBandManagementForHost
-disableOutOfBandManagementForZone
-disableStaticNat
-disableUser
-disassociateIpAddress
-disassociateUcsProfileFromBlade
-enableAccount
-enableAutoScaleVmGroup
-enableCiscoNexusVSM
-enableHAForCluster
-enableHAForHost
-enableHAForZone
-enableOutOfBandManagementForCluster
-enableOutOfBandManagementForHost
-enableOutOfBandManagementForZone
-enableStaticNat
-enableStorageMaintenance
-enableUser
-expungeVirtualMachine
-extractIso
-extractTemplate
-extractVolume
-findHostsForMigration
-findStoragePoolsForMigration
-getUploadParamsForIso
-getUploadParamsForTemplate
-getUploadParamsForVolume
-getUserKeys
-importLdapUsers
-instantiateUcsTemplateAndAssocaciateToBlade
-issueOutOfBandManagementPowerAction
-ldapCreateAccount
-linkDomainToLdap
-listAccounts
-listAffinityGroups
-listAffinityGroupTypes
-listAlerts
-listAndSwitchSamlAccount
-listApis
-listAutoScaleVmGroups
-listAutoScaleVmProfiles
-listBaremetalDhcp
-listBaremetalPxeServers
-listBaremetalRct
-listBigSwitchBcfDevices
-listBrocadeVcsDevices
-listCapabilities
-listCapacity
-listCiscoAsa1000vResources
-listCiscoNexusVSMs
-listCiscoVnmcResources
-listClusters
-listClustersMetrics
-listConfigurations
-listCounters
-listDedicatedClusters
-listDedicatedGuestVlanRanges
-listDedicatedHosts
-listDedicatedPods
-listDedicatedZones
-listDeploymentPlanners
-listDetailOptions
-listDiskOfferings
-listDomainChildren
-listDomains
-listEgressFirewallRules
-listEvents
-listF5LoadBalancers
-listFirewallRules
-listGlobalLoadBalancerRules
-listHostHAProviders
-listHosts
-listHostsMetrics
-listHostTags
-listHypervisorCapabilities
-listHypervisors
-listIdps
-listImageStores
-listInfrastructure
-listInternalLoadBalancerElements
-listInternalLoadBalancerVMs
-listIsos
-listLBHealthCheckPolicies
-listLBStickinessPolicies
-listLdapConfigurations
-listLdapUsers
-listLoadBalancerRuleInstances
-listLoadBalancerRules
-listLoadBalancers
-listManagementServers
-listNetscalerControlCenter
-listNetscalerLoadBalancers
-listNetworkACLLists
-listNetworkACLs
-listNetworkOfferings
-listNetworks
-listNetworkServiceProviders
-listNiciraNvpDevices
-listNics
-listOpenDaylightControllers
-listOsCategories
-listOsTypes
-listOvsElements
-listPaloAltoFirewalls
-listPhysicalNetworks
-listPods
-listPortableIpRanges
-listPortForwardingRules
-listPrivateGateways
-listProjectAccounts
-listProjectInvitations
-listProjects
-listPublicIpAddresses
-listRegions
-listRegisteredServicePackages
-listRemoteAccessVpns
-listResourceLimits
-listRolePermissions
-listRoles
-listRouters
-listSamlAuthorization
-listSecondaryStagingStores
-listSecurityGroups
-listServiceOfferings
-listSnapshotPolicies
-listSnapshots
-listSrxFirewalls
-listSSHKeyPairs
-listSslCerts
-listStaticRoutes
-listStorageNetworkIpRange
-listStoragePools
-listStoragePoolsMetrics
-listStorageProviders
-listStorageTags
-listSupportedNetworkServices
-listSystemVms
-listTags
-listTemplateOvfProperties
-listTemplatePermissions
-listTemplates
-listTrafficTypes
-listUcsBlades
-listUcsManagers
-listUcsTemplates
-listUsers
-listVirtualMachines
-listVirtualMachinesMetrics
-listVirtualRouterElements
-listVlanIpRanges
-listVMSnapshot
-listVmwareDcs
-listVolumes
-listVolumesMetrics
-listVPCOfferings
-listVPCs
-listVpnConnections
-listVpnCustomerGateways
-listVpnGateways
-listVpnUsers
-listZones
-listZonesMetrics
-migrateSystemVm
-migrateVirtualMachine
-migrateVirtualMachineWithVolume
-migrateVolume
-moveNetworkAclItem
-prepareHostForMaintenance
-provisionCertificate
-queryAsyncJobResult
-quotaBalance
-quotaCredits
-quotaEmailTemplateList
-quotaEmailTemplateUpdate
-quotaIsEnabled
-quotaStatement
-quotaSummary
-quotaTariffList
-quotaTariffUpdate
-rebootRouter
-rebootSystemVm
-rebootVirtualMachine
-reconnectHost
-recoverVirtualMachine
-refreshUcsBlades
-registerIso
-registerNetscalerControlCenter
-registerSSHKeyPair
-registerTemplate
-registerUserKeys
-releaseDedicatedCluster
-releaseDedicatedGuestVlanRange
-releaseDedicatedHost
-releaseDedicatedPod
-releaseDedicatedZone
-releasePublicIpRange
-removeFromGlobalLoadBalancerRule
-removeFromLoadBalancerRule
-removeIpFromNic
-removeNicFromVirtualMachine
-removeRegion
-removeVmwareDc
-removeVpnUser
-replaceNetworkACLList
-resetPasswordForVirtualMachine
-resetSSHKeyForVirtualMachine
-resetVpnConnection
-resizeVolume
-restartNetwork
-restartVPC
-restoreVirtualMachine
-revertSnapshot
-revertToVMSnapshot
-revokeSecurityGroupEgress
-revokeSecurityGroupIngress
-runDiagnostics
-scaleSystemVm
-scaleVirtualMachine
-startInternalLoadBalancerVM
-startRouter
-startSystemVm
-startVirtualMachine
-stopInternalLoadBalancerVM
-stopRouter
-stopSystemVm
-stopVirtualMachine
-suspendProject
-updateAccount
-updateAutoScalePolicy
-updateAutoScaleVmGroup
-updateAutoScaleVmProfile
-updateCluster
-updateConfiguration
-updateDefaultNicForVirtualMachine
-updateDiskOffering
-updateDomain
-updateGlobalLoadBalancerRule
-updateHost
-updateHypervisorCapabilities
-updateIso
-updateIsoPermissions
-updateLoadBalancerRule
-updateNetwork
-updateNetworkACLItem
-updateNetworkACLList
-updateNetworkOffering
-updateNetworkServiceProvider
-updatePhysicalNetwork
-updatePod
-updateProject
-updateProjectInvitation
-updateRegion
-updateResourceCount
-updateResourceLimit
-updateRole
-updateRolePermission
-updateServiceOffering
-updateStoragePool
-updateTemplate
-updateTemplatePermissions
-updateTrafficType
-updateUser
-updateVirtualMachine
-updateVMAffinityGroup
-updateVmNicIp
-updateVmwareDc
-updateVPC
-updateVPCOffering
-updateVpnCustomerGateway
-updateZone
-upgradeRouterTemplate
-uploadCustomCertificate
-uploadSslCert
-uploadVolume
diff --git a/ui/tools/api/apis.primate.sh b/ui/tools/api/apis.primate.sh
deleted file mode 100644
index 568eece6f0b..00000000000
--- a/ui/tools/api/apis.primate.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-cd ../../src/
-rm -f apis.txt
-grep api\( -R . | grep -v import | sed "s/.*api('//g" | sed "s/'.*//g" | grep -v '.vue' | sort | uniq >> apis.txt
-grep api -R config | sed "s/.*api: '//g" | sed "s/'.*//g" | grep -v \.js | sort | uniq >> apis.txt
-grep store.getters.apis -R . | sed "s/' in.*//g" | sed "s/').*//g" | grep "'" | sed "s/.*'//g" | grep -v ']' >> apis.txt
-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 ../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"
-echo "$(cat apis.remaining | wc -l) APIs are remaining"
diff --git a/ui/tools/api/apis.remaining b/ui/tools/api/apis.remaining
deleted file mode 100644
index 7c92926e048..00000000000
--- a/ui/tools/api/apis.remaining
+++ /dev/null
@@ -1,4 +0,0 @@
-listDeploymentPlanners
-listHostTags
-listStorageProviders
-listStorageTags
diff --git a/ui/tools/git-pr b/ui/tools/git-pr
deleted file mode 100755
index 612c95d0a6a..00000000000
--- a/ui/tools/git-pr
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/bash
-
-# 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.
-
-# Should we clean-up?
-cleanup=1
-
-clean_up_and_exit() {
- if [ "${cleanup}" -eq 1 ]; then
- echo
- git branch -D pr/${prId} >/dev/null 2>&1
- rm ${jsonTmp} ${tmpMessageFile} >/dev/null 2>&1
- fi
- exit $1
-}
-
-# Arguments
-argument=$1
-prId=${argument}
-force=0
-if [[ "${2}" == "--force" ]]; then
- force=1
-fi
-
-# Some of us got used to a git pr alias that you had to feed with the PR url
-# Let's make this script backwards compatible with the previous one.
-if [[ ${argument} =~ https://github.com.* ]]; then
- prId=$(echo "${argument}" | awk -F/ {'print $7'})
- echo "INFO: Found PR id ${prId} from url"
-fi
-
-# Check the arguments
-if [ -z ${prId} ]; then
- echo "Usage: git pr pool-request-number [ --force ]"
- echo "Works for any Apache repository mirrored on GitHub'"
- echo "For instructions, see: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61311655"
- clean_up_and_exit 1
-fi
-
-# Vars we need
-jsonTmp="${PWD}/${prId}.json"
-tmpMessageFile="${PWD}/.git-tmp-message.txt"
-repoName=cloudstack-primate
-
-# We need UTF-8 to support the GitHub '...' 3-dots-in-1-char, for example.
-export LANG="en_EN.UTF-8"
-
-if [ "${prId}" -eq "${prId}" 2>/dev/null ]; then
- # Get json data from Github API
- curl -s https://api.github.com/repos/apache/${repoName}/pulls/${prId} > ${jsonTmp}
-else
- echo "ERROR: Pull-request id must be an integer, not '${prId}'"
- clean_up_and_exit 1
-fi
-
-# Get vars from the GitHub API and parse the returned json
-prAuthor=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['user']['login'].encode('utf-8').decode('ascii','ignore')
-except:
- print ''
-")
-
-prTitle=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['title'].encode('utf-8').decode('ascii','ignore')
-except:
- print ''
-")
-
-prBody=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['body'].encode('utf-8').decode('ascii','ignore')
-except:
- print ''
-")
-
-prOriginBranch=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['head']['label'].encode('utf-8').decode('ascii','ignore')
-except:
- print ''
-" | sed -e "s/:/\//")
-
-prState=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['state'].encode('utf-8').decode('ascii','ignore')
-except:
- print 'Unknown'
-")
-
-prMergeableState=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['mergeable_state'].encode('utf-8').decode('ascii','ignore')
-except:
- print 'Unknown'
-")
-
-prDestinationBranch=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['base']['ref'].encode('utf-8').decode('ascii','ignore')
-except:
- print 'Unknown'
-")
-
-prCommits=$(cat ${jsonTmp} | python -c "
-try:
- import sys, json
- print json.load(sys.stdin)['commits']
-except:
- print 'Unknown'
-")
-
-# Do some sanity checking
-if [ ${#prAuthor} -eq 0 ]; then
- echo "ERROR: We couldn't grab the PR author. Something went wrong querying the GitHub API."
- clean_up_and_exit 1
-fi
-
-if [ ${#prTitle} -eq 0 ]; then
- echo "ERROR: We couldn't grab the PR title. Something went wrong querying the GitHub API."
- clean_up_and_exit 1
-fi
-
-if [ ${#prOriginBranch} -eq 0 ]; then
- echo "ERROR: We couldn't grab the PR branch name. Something went wrong querying the GitHub API."
- clean_up_and_exit 1
-fi
-
-currentBranch=$(git branch | grep "^*" | sed -e "s/^[*] //")
-if [ "${prDestinationBranch}" != "${currentBranch}" ] && [ ${force} -lt 1 ]; then
- echo "ERROR: This PR is made against branch '${prDestinationBranch}' while your current checked out branch is '${currentBranch}'."
- echo "ERROR: Please make sure you're in the right branch and run this scipt again."
- clean_up_and_exit 1
-elif [ "${prDestinationBranch}" != "${currentBranch}" ] && [ ${force} -eq 1 ]; then
- echo "WARNING: You used --force to merge to '${currentBranch}' while this PR is for branch '${prDestinationBranch}'."
-fi
-
-if [ "${prState}" != "open" ] && [ ${force} -lt 1 ]; then
- echo "ERROR: We couldn't merge the PR because the state is not 'open' but '${prState}'."
- echo "ERROR: In general it's a bad idea to merge closed PRs!"
- echo "ERROR: Run this script again with --force if you know what you're doing"
- echo "ERROR: (continuing work on an abandoned PR in which case you'd merge to a branch in your fork"
- echo "ERROR: and send that as a new PR). Ask for help on @dev if unsure."
- clean_up_and_exit 1
-elif [ "${prState}" != "open" ] &&[ ${force} -eq 1 ]; then
- echo "WARNING: You used --force to merge a PR with state '${prState}'."
-fi
-
-if [ "${prMergeableState}" != "clean" ] && [ ${force} -lt 1 ]; then
- echo "ERROR: We couldn't merge the PR because it cannot be merged 'clean' (GitHub reports '${prMergeableState}')."
- echo "ERROR: This can be caused by a Travis build in progress, a failed Travis build or an unclean merge (conflicts)"
- echo "ERROR: Run this script again with --force if you know what you're doing. Ask for help on @dev if unsure."
- clean_up_and_exit 1
-elif [ "${prMergeableState}" != "clean" ] && [ ${force} -eq 1 ]; then
- echo "WARNING: You used --force to merge a PR with non-clean merge state '${prMergeableState}'."
-fi
-
-github_remote=$(git remote -v | grep -E "apache/${repoName}(.git)?" | head -n 1 | cut -f1)
-apache_remote=$(git remote -v | grep -E "git-wip-us\.apache\.org" | head -n 1 | cut -f1)
-if [ ${#github_remote} -eq 0 ]; then
- echo "ERROR: We couldn't find a git remote pointing to 'apache/${repoName}.git' to merge the PR from."
- echo "INFO: Currently, your configured remotes are:"
- echo "INFO: ***********************************************************************************"
- git remote -v
- echo "INFO: ***********************************************************************************"
- echo "INFO: To merge a PR, we need access to two remotes: "
- echo "INFO: 1. Read-only access to GitHub mirror"
- echo "INFO: 2. Read/write access to Apache git"
- echo "INFO: Please add a remote like this: 'git remote add github https://github.com/apache/${repoName}.git'"
- echo "INFO: For more help, visit: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61311655"
- echo "INFO: Once done, run this script again."
- clean_up_and_exit 1
-fi
-
-echo "INFO: Using remote repository '${github_remote}' to fetch PR (should point to github.com/apache/${repoName}.git)"
-echo "INFO: PR #${prId} against branch '${prDestinationBranch}' from '${prAuthor}': '${prTitle}'"
-echo "INFO: has state '${prState}' and mergable state '${prMergeableState}', about to be merged in branch '${currentBranch}'."
-
-# Construct commit merge message
-echo "Merge pull request #${prId} from ${prOriginBranch}" > ${tmpMessageFile}
-echo "" >> ${tmpMessageFile}
-echo "${prTitle}${prBody}" >> ${tmpMessageFile}
-
-# Are you sure?
-echo "ATTENTION: Merging pull request #${prId} from ${prOriginBranch} into '${currentBranch}' branch in 5 seconds. CTRL+c to abort.."
-sec=5
-while [ $sec -ge 0 ]; do
- printf "${sec} "
- sec=$((sec-1))
- sleep 1
-done
-echo
-echo "INFO: Executing the merge now.. Git output below:"
-echo "INFO: ***********************************************************************************"
-
-# Do the actual merge
-git fetch ${github_remote} pull/${prId}/head:pr/${prId}
-git merge --no-ff --log -m "$(cat ${tmpMessageFile})" pr/${prId}
-if [ $? -eq 0 ]; then
- git commit --amend -s --allow-empty-message -m ''
-else
- echo "ERROR: Merge failed, aborting."
- git merge --abort
- clean_up_and_exit 1
-fi
-
-# What's next
-echo "INFO: ***********************************************************************************"
-echo "INFO: Merged successfully! Please double check using 'git log -p' and 'git push' when you're sure."
-echo "INFO: About commits: there should be ${prCommits} from the PR plus 1 merge commit."
-echo "INFO: Actual diff in commits is: (running git log --pretty=oneline --abbrev-commit ${apache_remote}/${currentBranch}..${currentBranch})"
-echo
-git log --pretty=oneline --abbrev-commit ${apache_remote}/${currentBranch}..${currentBranch}
-
-clean_up_and_exit 0
diff --git a/ui/tools/performrelease.sh b/ui/tools/performrelease.sh
deleted file mode 100755
index 13354008814..00000000000
--- a/ui/tools/performrelease.sh
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/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"