Skip to content

Instantly share code, notes, and snippets.

@mrizzi
Last active May 10, 2018 10:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrizzi/3757323963816c14422b3ac4dbbe20d6 to your computer and use it in GitHub Desktop.
Save mrizzi/3757323963816c14422b3ac4dbbe20d6 to your computer and use it in GitHub Desktop.
#!/bin/sh
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # No Color
usage()
{
echo
echo "Usage:"
echo " script.sh <GitHub user> <Issue ID>"
echo
exit 1
}
echo_colored()
{
echo -e "$1--- $2 ---$NC"
}
if [ $# -ne 2 ] ; then
usage
fi
BASEDIR=$(pwd)
RULES_BASEDIR='my_rules'
GITHUB_USER=$1
ISSUE_ID=$2
echo_colored $GREEN "Rule example environment setup"
echo_colored $GREEN "Current working directory $(pwd)"
if [ ! -d "$RULES_BASEDIR" ]; then
mkdir $RULES_BASEDIR
fi
cd $RULES_BASEDIR/
echo_colored $GREEN "Clone locally $GITHUB_USER windup-ruleset repository fork"
git clone https://github.com/$GITHUB_USER/windup-rulesets.git
cd windup-rulesets/
WINDUP_RULESET_UPSTREAM=https://github.com/windup/windup-rulesets.git
echo_colored $GREEN "Add upstream remote $WINDUP_RULESET_UPSTREAM to the project"
git remote add upstream $WINDUP_RULESET_UPSTREAM
git fetch --tags upstream
CHECKOUT_FROM=tags/4.0.1.Final
echo_colored $GREEN "Create new local branch $ISSUE_ID from $CHECKOUT_FROM"
git checkout -b $ISSUE_ID $CHECKOUT_FROM
echo_colored $GREEN "Build project"
mvn -DskipTests clean install
cd rules-reviewed/eap7/
if [ ! -d "proprietary" ]; then
mkdir proprietary
fi
cd proprietary
echo_colored $GREEN "Create rule in folder $(pwd)"
RULE_FILENAME=proprietary-servlet.rhamt.xml
echo_colored $GREEN "Create rule $RULE_FILENAME"
curl -s https://raw.githubusercontent.com/mrizzi/windup-rulesets/WINDUPRULE-000/rules-reviewed/eap7/proprietary/$RULE_FILENAME -O
if [ ! -d "test" ]; then
mkdir test
fi
cd test/
echo_colored $GREEN "Create test in folder $(pwd)"
TEST_FILENAME=proprietary-servlet.rhamt.test.xml
echo_colored $GREEN "Create rule test $TEST_FILENAME"
curl -s https://raw.githubusercontent.com/mrizzi/windup-rulesets/WINDUPRULE-000/rules-reviewed/eap7/proprietary/test/$TEST_FILENAME -O
mv proprietary-servlet.rhamt.test.xml proprietary-servlet.windup.test.xml
if [ ! -d "data" ]; then
mkdir data
fi
cd data/
echo_colored $GREEN "Create test data in folder $(pwd)"
for TESTDATA_FILENAME in SampleProprietaryServlet.java SampleProprietaryFilter.java
do
echo_colored $GREEN "Create rule test data $TESTDATA_FILENAME"
curl -s https://raw.githubusercontent.com/mrizzi/windup-rulesets/WINDUPRULE-000/rules-reviewed/eap7/proprietary/test/data/$TESTDATA_FILENAME -O
done
echo_colored $GREEN "Project with example rule and test successfully created"
cd $BASEDIR/$RULES_BASEDIR/windup-rulesets/
mvn -DrunTestsMatching=proprietary-servlet clean test
echo_colored $GREEN "Rule example environment successfully created"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment