blob: 13e8796877427a7c8475e9ee15fcaf3333921bf2 [file] [log] [blame]
#!/bin/bash
githubAccount=$1
exec 5>&1
# REM create core folder
mkdir -p core
cd core
ERRORS=""
FAILEDMODULES=""
get_modules() {
for module in $@
do
git clone https://github.com/$githubAccount/$module.git
pushd $module
git remote add upstream https://github.com/mifosio/$module.git
# For some reason permission is denied
chmod +x gradlew
THISBUILD="\nBUILDING $module\n"
THISBUILD+=$(./gradlew publishToMavenLocal |& tee >(cat - >&5)
if [ ${PIPESTATUS[0]} -ne 0 ]; then exit 1; fi )
if [ $? -ne 0 ]; then
ERRORS+="$(echo -e $THISBUILD | tail)\n"
FAILEDMODULES+="$module "
fi
popd
done
}
get_modules lang async cassandra mariadb data-jpa 'command' api 'test'
# Return to start folder
cd ..
# REM create tools folder
mkdir tools
cd tools
# REM initialize javamoney
git clone https://github.com/JavaMoney/javamoney-lib.git
cd javamoney-lib
THISBUILD="\nBUILDING javamoney-lib\n"
THISBUILD+=$(mvn install -Dmaven.test.skip=true |& tee >(cat - >&5)
if [ ${PIPESTATUS[0]} -ne 0 ]; then exit 1; fi )
if [ $? -ne 0 ]; then
ERRORS+="$( echo -e $THISBUILD | tail)\n"
FAILEDMODULES+="javamoney-lib "
fi
cd ..
# REM initialize crypto
git clone https://github.com/$githubAccount/crypto.git
cd crypto
git remote add upstream https://github.com/mifosio/crypto.git
chmod +x gradlew
THISBUILD="\nBUILDING crypto\n"
THISBUILD+=$(./gradlew publishToMavenLocal |& tee >(cat - >&5)
if [ ${PIPESTATUS[0]} -ne 0 ]; then exit 1; fi )
if [ $? -ne 0 ]; then
ERRORS+="$(echo -e $THISBUILD | tail) \n"
FAILEDMODULES+="crypto "
fi
cd ..
# exit tools directory
cd ..
get_modules anubis permitted-feign-client provisioner identity rhythm template office customer group accounting portfolio deposit-account-management teller reporting
# REM initialize payroll
git clone 'https://github.com/'$githubAccount'/payroll.git'
cd payroll
git remote add upstream https://github.com/mifosio/payroll.git
git checkout develop
chmod +x gradlew
./gradlew publishToMavenLocal
cd ..
mkdir integration-tests
cd integration-tests
get_modules service-starter default-setup demo-server test-provisioner-identity-organization
# test-accounting-portfolio is built a little different so it's done separate from the others
git clone https://github.com/$githubAccount/test-accounting-portfolio.git
cd test-accounting-portfolio
git remote add upstream https://github.com/mifosio/test-accounting-portfolio.git
chmod +x gradlew
THISBUILD="\nBUILDING test-accounting-portfolio\n"
THISBUILD+=$( ./gradlew build |& tee >(cat - >&5)
if [ ${PIPESTATUS[0]} -ne 0 ]; then exit 1; fi )
if [ $? -ne 0 ]; then
ERRORS+="$(echo -e $THISBUILD | tail)\n"
FAILEDMODULES+="test-accounting-portfolio "
fi
# exit integration-tests directory
cd ..
# REM initialize Web App
git clone https://github.com/$githubAccount/fims-web-app.git
cd fims-web-app
git remote add upstream https://github.com/mifosio/fims-web-app.git
npm i
cd ..
if [ ! -z "$ERRORS" ] ; then
echo "********************"
echo "Build errors found:"
echo "********************"
echo -e "$ERRORS"
echo "********************"
echo "Build errors found"
echo "********************"
echo "The following modules failed to build: $FAILEDMODULES"
fi