Use set -e
to handle errors better in the build scripts
This commit is contained in:
parent
7effde04b1
commit
0394633734
11 changed files with 118 additions and 48 deletions
114
paper
114
paper
|
@ -22,59 +22,81 @@ paperunstash() {
|
|||
|
||||
case "$1" in
|
||||
"rbp" | "rebuild")
|
||||
(
|
||||
(
|
||||
set -e
|
||||
cd "$basedir"
|
||||
scripts/rebuildPatches.sh "$basedir"
|
||||
)
|
||||
)
|
||||
;;
|
||||
"a" | "apply")
|
||||
(
|
||||
"p" | "patch")
|
||||
(
|
||||
set -e
|
||||
cd "$basedir"
|
||||
scripts/build.sh "$basedir"
|
||||
)
|
||||
)
|
||||
;;
|
||||
"j" | "jar")
|
||||
(
|
||||
cd "$basedir"
|
||||
(
|
||||
set -e
|
||||
cd "$basedir"
|
||||
scripts/build.sh "$basedir" "--jar"
|
||||
)
|
||||
)
|
||||
;;
|
||||
"make")
|
||||
(
|
||||
if [[ "$2" = "bacon" ]] ; then
|
||||
set -e
|
||||
cd "$basedir"
|
||||
scripts/build.sh "$basedir" "--jar"
|
||||
fi
|
||||
)
|
||||
;;
|
||||
"r" | "root")
|
||||
cd "$basedir"
|
||||
;;
|
||||
"api")
|
||||
"a" | "api")
|
||||
cd "$basedir/Paper-API"
|
||||
;;
|
||||
"serv" | "server")
|
||||
"s" | "server")
|
||||
cd "$basedir"
|
||||
;;
|
||||
"e" | "edit")
|
||||
case "$2" in
|
||||
"server")
|
||||
cd "$basedir/Paper-Server"
|
||||
export LAST_EDIT=$(pwd)
|
||||
"s" | "server")
|
||||
export LAST_EDIT="$basedir/Paper-Server"
|
||||
cd "$basedir/Paper-Server"
|
||||
(
|
||||
set -e
|
||||
|
||||
paperstash
|
||||
git rebase -i upstream/upstream
|
||||
paperunstash
|
||||
)
|
||||
;;
|
||||
"api")
|
||||
cd "$basedir/Paper-API"
|
||||
export LAST_EDIT=$(pwd)
|
||||
"a" | "api")
|
||||
export LAST_EDIT="$basedir/Paper-API"
|
||||
cd "$basedir/Paper-API"
|
||||
(
|
||||
set -e
|
||||
|
||||
paperstash
|
||||
git rebase -i upstream/upstream
|
||||
paperunstash
|
||||
)
|
||||
;;
|
||||
"continue")
|
||||
cd "$LAST_EDIT"
|
||||
"c" | "continue")
|
||||
cd "$LAST_EDIT"
|
||||
unset LAST_EDIT
|
||||
(
|
||||
set -e
|
||||
|
||||
git add .
|
||||
git commit --amend
|
||||
git rebase --continue
|
||||
unset LAST_EDIT
|
||||
(
|
||||
cd "$basedir"
|
||||
scripts/rebuildPatches.sh "$basedir"
|
||||
)
|
||||
|
||||
cd "$basedir"
|
||||
scripts/rebuildPatches.sh "$basedir"
|
||||
)
|
||||
;;
|
||||
*)
|
||||
echo "You must edit either the api or server."
|
||||
|
@ -83,24 +105,40 @@ case "$1" in
|
|||
;;
|
||||
"setup")
|
||||
if [[ -f ~/.bashrc ]] ; then
|
||||
(grep "alias paper=" ~/.bashrc > /dev/null) && (sed -i "s|alias paper=.*|alias paper='. $SOURCE'|g" ~/.bashrc) || (echo "alias paper='. $SOURCE'" >> ~/.bashrc)
|
||||
alias paper=". $SOURCE"
|
||||
echo "You can now just type 'paper' at any time to access the paper tool."
|
||||
NAME="paper"
|
||||
if [[ ! -z "${2+x}" ]] ; then
|
||||
NAME="$2"
|
||||
fi
|
||||
(grep "alias $NAME=" ~/.bashrc > /dev/null) && (sed -i "s|alias $NAME=.*|alias $NAME='. $SOURCE'|g" ~/.bashrc) || (echo "alias $NAME='. $SOURCE'" >> ~/.bashrc)
|
||||
alias "$NAME=. $SOURCE"
|
||||
echo "You can now just type '$NAME' at any time to access the paper tool."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "rbp, rebuild | Rebuild patches, can be called from anywhere."
|
||||
echo "p, patch | Apply all patches to the project without building it. Can be run from anywhere."
|
||||
echo "j, jar | Apply all patches and build the project, paperclip.jar will be output. Can be run from anywhere."
|
||||
echo "r, root | Change directory to the root of the project."
|
||||
echo "api | Move to the Paper-API directory."
|
||||
echo "serv, server | Move to the Paper-Server directory."
|
||||
echo "e, edit | Use to edit a specific patch, give it the argument \"server\" or \"api\""
|
||||
echo " | respectively to edit the correct project. Use the argument \"continue\" after"
|
||||
echo " | the changes have been made to finish and rebuild patches. Can be called from anywhere."
|
||||
echo "setup | Add an alias to .bashrc to allow full functionality of this script. Run as:"
|
||||
echo " | . ./paper setup"
|
||||
echo " | After you run this command you'll be able to just run 'paper' from anywhere."
|
||||
echo "PaperMC build tool command. This provides a variety of commands to build and manage the PaperMC build"
|
||||
echo "environment. For all of the functionality of this command to be available, you must first run the"
|
||||
echo "'setup' command. View below for details. For essential building and patching, you do not need to do the setup."
|
||||
echo ""
|
||||
echo " Normal commands:"
|
||||
echo " * rbp, rebuild | Rebuild patches, can be called from anywhere."
|
||||
echo " * p, patch | Apply all patches to the project without building it. Can be run from anywhere."
|
||||
echo " * j, jar | Apply all patches and build the project, paperclip.jar will be output. Can be run from anywhere."
|
||||
echo ""
|
||||
echo " These commands require the setup command before use:"
|
||||
echo " * r, root | Change directory to the root of the project."
|
||||
echo " * a. api | Move to the Paper-API directory."
|
||||
echo " * s, server | Move to the Paper-Server directory."
|
||||
echo " * e, edit | Use to edit a specific patch, give it the argument \"server\" or \"api\""
|
||||
echo " | respectively to edit the correct project. Use the argument \"continue\" after"
|
||||
echo " | the changes have been made to finish and rebuild patches. Can be called from anywhere."
|
||||
echo ""
|
||||
echo " * setup | Add an alias to .bashrc to allow full functionality of this script. Run as:"
|
||||
echo " | . ./paper setup"
|
||||
echo " | After you run this command you'll be able to just run 'paper' from anywhere."
|
||||
echo " | The default name for the resulting alias is 'paper', you can give an argument to override"
|
||||
echo " | this default, such as:"
|
||||
echo " | . ./paper setup example"
|
||||
echo " | Which will allow you to run 'example' instead."
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue