Skip to content

Instantly share code, notes, and snippets.

@nickrobson
Last active August 29, 2015 14:25
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 nickrobson/5f18c27b76deefe8d995 to your computer and use it in GitHub Desktop.
Save nickrobson/5f18c27b76deefe8d995 to your computer and use it in GitHub Desktop.
Trident Workspace Fetcher (now can built TridentSDK & Trident using Maven)
tridentsdk="TridentSDK"
trident="Trident"
env="Env"
clear
# Print 'header' info
echo "\x1b[35;1m===================================="
echo "== Trident Workspace Fetcher v2.0 =="
echo "===================================="
# Get TridentSDK
echo "\x1b[36m== 1. Grab TridentSDK =="
if ! [ -e "$tridentsdk" ]
then
# I guess we're missing TridentSDK!
echo "\x1b[31mMissing TridentSDK..."
echo "\x1b[33mWould you like to download it?"
select yn in "Yes" "No"; do
case $yn in
Yes ) git clone https://github.com/TridentSDK/TridentSDK.git; echo "\x1b[32mGot TridentSDK!"; break;;
No ) echo "\x1b[31mNot grabbing TridentSDK"; break;;
esac
done
else
# TridentSDK's downloaded.
echo "\x1b[34mTridentSDK found!"
echo "\x1b[33mWould you like to update it?"
select yn in "Bleeding" "Master" "No"; do
case $yn in
Bleeding ) cd $tridentsdk; git pull origin bleeding-edge; cd ../; echo "\x1b[32mUpdated TridentSDK (bleeding-edge)!"; break;;
Master ) cd $tridentsdk; git pull origin master; cd ../; echo "\x1b[32mUpdated TridentSDK (master)!"; break;;
No ) echo "\x1b[31mNot updating TridentSDK"; break;;
esac
done
fi
# Get Trident
echo "\x1b[36;1m== 2. Grab Trident =="
if ! [ -e "$trident" ]
then
# I guess we're missing Trident!
echo "\x1b[31mMissing Trident..."
echo "\x1b[33mWould you like to download it?"
select yn in "Yes" "No"; do
case $yn in
Yes ) git clone https://github.com/TridentSDK/Trident.git; echo "\x1b[32mGot Trident!"; break;;
No ) echo "\x1b[31mNot grabbing Trident"; break;;
esac
done
echo "\x1b[32mGot Trident"
else
# Trident's downloaded.
echo "\x1b[34mTrident found!"
echo "\x1b[33mWould you like to update it?"
select yn in "Bleeding" "Master" "No"; do
case $yn in
Bleeding ) cd $trident; git pull origin bleeding-edge; cd ../; echo "\x1b[32mUpdated Trident (bleeding-edge)!"; break;;
Master ) cd $trident; git pull origin master; cd ../; echo "\x1b[32mUpdated Trident (master)!"; break;;
No ) echo "\x1b[31mNot updating Trident"; break;;
esac
done
fi
## PHASE 2: BUILD TRIDENT ##
builtTrident=false
echo "\x1b[33mWould you like to build Trident?"
select choice in "Yes" "No"; do
case $choice in
Yes ) clear; echo "Building TridentSDK"; cd $tridentsdk; mvn clean install; cd ../$trident; echo "Built TridentSDK"; sleep 5; clear; echo "Building Trident"; mvn clean install; cd ../; builtTrident=true; echo "Built Trident"; sleep 3; clear; break;;
No ) echo "\x1b[31mNot building Trident"; break;;
esac
done
if $builtTrident
then
echo "Moving Trident.jar to $env folder."
if ! [ -e "$env" ]
then
mkdir $env
echo "Created missing $env folder."
fi
mv ./$tridentsdk/target/tridentsdk*.jar ./$env/tridentsdk.jar
mv ./$trident/target/trident*-jar-with-dependencies.jar ./$env/trident.jar
echo "Moved Trident.jar into folder."
else
## PHASE 2b: BUILD TRIDENTSDK
echo "\x1b[33mWould you like to build TridentSDK?"
builtTridentSdk=false
select buildSdk in "Yes" "No"; do
case $buildSdk in
Yes ) clear; echo "Building TridentSDK"; cd $tridentsdk; mvn clean install; cd ../; builtTridentSdk=true; echo "Built TridentSDK"; break;;
No ) echo "\x1b[31mNot building TridentSDK"; break;;
esac
done
if $builtTridentSdk
then
echo "Moving TridentSDK.jar to $env folder."
if ! [ -e "$env" ]
then
mkdir $env
echo "Created missing $env folder."
fi
mv ./$tridentsdk/target/tridentsdk*.jar ./$env/tridentsdk.jar;
echo "Moved TridentSDK.jar into folder."
fi
fi
clear
echo "\x1b[31mEverything's done!"
sleep 5
echo "\x1b[0m" # reset colors/format to default!
clear # Better to not make this all linger!
@nickrobson
Copy link
Author

v1.0: Clones into folders
v1.1: Can update off either master or bleeding-edge (asks)

@nickrobson
Copy link
Author

v2.0: Can build TridentSDK and Trident using Maven. It must be on the working path for this to function, however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment