Skip to content

Instantly share code, notes, and snippets.

@kasunbg
Forked from pulasthi7/buildAllExtensions.sh
Created October 10, 2017 12:54
Show Gist options
  • Save kasunbg/5de8f92b326fe1b8ccaff8af3ffdd6d7 to your computer and use it in GitHub Desktop.
Save kasunbg/5de8f92b326fe1b8ccaff8af3ffdd6d7 to your computer and use it in GitHub Desktop.
Clones all the IS extensions repos
echo "building framework"
cd identity-framework
mvn clean install -Dmaven.test.skip=true
if [ $? -ne 0 ]
then
cd ..
echo Build failed at identity-framework
notify-send "Build failed at identity-framework"
exit 1
else
cd ..
fi
for repo in `cat ./extensions.txt`
do
echo "building $repo"
cd $repo
mvn clean install -Dmaven.test.skip=true
if [ $? -ne 0 ]
then
cd ..
echo Build failed at $repo
notify-send "Build failed at $repo"
exit 1
else
cd ..
fi
done
notify-send "Build success"
echo "Cloning framework"
git clone https://github.com/wso2/identity-framework.git
for repo in `cat ./extensions.txt`
do
echo "Cloning $repo"
git clone https://github.com/wso2-extensions/$repo.git
done
identity-agent-sso
identity-local-auth-basicauth
identity-local-auth-fido
identity-outbound-auth-oidc
identity-outbound-auth-openid
identity-outbound-auth-passive-sts
identity-outbound-auth-requestpath-basicauth
identity-carbon-auth-signedjwt
identity-carbon-auth-thrift
identity-carbon-auth-mutual-ssl
identity-notification-email
identity-notification-json
identity-outbound-provisioning-google
identity-outbound-provisioning-salesforce
identity-outbound-provisioning-spml
identity-user-account-association
identity-user-workflow
identity-user-ws
identity-userstore-ldap
identity-userstore-remote
identity-outbound-auth-facebook
identity-outbound-auth-google
identity-outbound-auth-windows-live
identity-outbound-auth-yahoo
identity-workflow-impl-bps
identity-outbound-auth-samlsso
identity-agent-entitlement-proxy
identity-agent-entitlement-filter
identity-inbound-auth-openid
identity-carbon-auth-iwa
identity-workflow-template-multisteps
identity-inbound-auth-oauth
identity-outbound-auth-requestpath-oauth
identity-inbound-auth-saml
identity-carbon-auth-saml2
identity-inbound-auth-sts
identity-inbound-provisioning-scim
identity-outbound-provisioning-scim
identity-tool-samlsso-validator
identity-governance
identity-event-handler-account-lock
identity-data-publisher-authentication
identity-event-handler-notification
identity-carbon-auth-rest
identity-application-authz-xacml
identity-data-publisher-oauth
identity-data-publisher-audit
identity-outbound-auth-office365
identity-local-auth-iwa-kerberos
identity-local-auth-iwa-ntlm
identity-metadata-saml2
identity-inbound-provisioning-scim2
identity-entitlement-xacml
#!/bin/bash
# Checkout latest git tag for repos, build locally from that tag
set -m
set -e
logFile="$PWD/release-build.log"
total=$(wc -l < "./extensions.txt")
total=$(( $total + 1 ))
echo "$total repos to be built"
count=1
get_latest_tag() {
git checkout master >/dev/null
git fetch origin >/dev/null
git pull origin master >/dev/null
lrv="$(git describe --abbrev=0)"
echo "Latest for $1 : $lrv"
}
build_latest_tag() {
lrv="$(git describe --abbrev=0)"
echo "[$count/$total] Building $1 $lrv"
changed="$(git status --porcelain -uno)"
if [[ $changed ]]; then
echo "Local changes detected, stashing to continue"
git stash
fi
git checkout $lrv >/dev/null
mvn clean install -Dmaven.test.skip=true >> "$logFile"
git checkout master >/dev/null
if [[ $changed ]]; then
git stash pop
fi
count=$(( $count + 1 ))
}
if [ -f $logFile ] ; then
rm $logFile
fi
cd identity-framework
get_latest_tag "identity-framework" &
cd ..
for repo in `cat ./extensions.txt`
do
if [[ $repo = \#* ]] ;
then
echo "Ignoring $repo"
else
cd $repo
get_latest_tag $repo &
cd ..
fi
done
wait
echo "Finished getting latest tags, Starting build"
cd identity-framework
build_latest_tag "identity-framework"
cd ..
for repo in `cat ./extensions.txt`
do
if [[ $repo = \#* ]] ;
then
echo "Ignoring $repo"
else
cd $repo
build_latest_tag $repo
cd ..
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment