1
0

add script update feature

This commit is contained in:
GenZmeY 2023-05-10 06:12:32 +03:00
parent 9e879862a1
commit aa5980efd6
2 changed files with 58 additions and 1 deletions

View File

@ -25,10 +25,16 @@ Make sure that the location of folders and files in your project as follows (Cor
Open git-bash and go to your project: `cd <your_project_path>` Open git-bash and go to your project: `cd <your_project_path>`
Add submodule: `git submodule add https://github.com/GenZmeY/KF2-BuildTools tools` Add submodule: `git submodule add https://github.com/GenZmeY/KF2-BuildTools tools`
**updating build tools:** **updating build tools (manual)**
Get updates: `pushd tools && git pull && popd` Get updates: `pushd tools && git pull && popd`
Commit the changes: `git add tools && git commit -m 'update tools'` Commit the changes: `git add tools && git commit -m 'update tools'`
## Updating build tools
Since version 1.9.0 build script can update itself:
`./tools/builder --update`
*if you have an older version you need to update once manually to start using this feature*
### 2. As standalone script ### 2. As standalone script
Just create a `tools` folder and put [builder](builder) there. Just create a `tools` folder and put [builder](builder) there.
Now you can use the script in the same way as in the first case, but you will have to update it yourself. Now you can use the script in the same way as in the first case, but you will have to update it yourself.

51
builder
View File

@ -131,6 +131,7 @@ ArgQuiet="false"
ArgHoldEditor="false" ArgHoldEditor="false"
ArgNoColors="false" ArgNoColors="false"
ArgForce="false" ArgForce="false"
ArgUpdate="false"
# Colors # Colors
RED='' RED=''
@ -241,6 +242,7 @@ ${BLD}Available options:${DEF}
-he, --hold-editor do not close kf2editor automatically -he, --hold-editor do not close kf2editor automatically
-nc, --no-colors do not use color output -nc, --no-colors do not use color output
-d, --debug print every executed command (script debug) -d, --debug print every executed command (script debug)
--update update build tools
-v, --version show version -v, --version show version
-h, --help show this help -h, --help show this help
@ -1021,6 +1023,53 @@ function run_test ()
CMD //C "$(cygpath -w "$KFGame")" "$Map?Difficulty=$Difficulty?GameLength=$GameLength?Game=$Game?Mutator=$Mutators?$Args" $UseUnpublished -log CMD //C "$(cygpath -w "$KFGame")" "$Map?Difficulty=$Difficulty?GameLength=$GameLength?Game=$Game?Mutator=$Mutators?$Args" $UseUnpublished -log
} }
function update ()
{
pushd "$ScriptDir" &> /dev/null
if command -v git &> /dev/null && git rev-parse --git-dir &> /dev/null; then
update_by_git
elif command -v curl &> /dev/null; then
update_by_curl
else
err "Can't update: curl not found"
fi
popd &> /dev/null
}
function update_by_git ()
{
if git pull origin master; then
pushd "$MutSource" &> /dev/null
git add "$ScriptDir" &> /dev/null
git commit -m "update build tools"
popd &> /dev/null
msg "Successfully updated" "${GRN}"
else
err "Error downloading update"
fi
}
function update_by_curl ()
{
local Url='https://raw.githubusercontent.com/GenZmeY/KF2-BuildTools/master/builder'
local New
New="$(mktemp.exe -u)"
if curl -L "$Url" -o "$New"; then
if cmp -s "$ScriptFullname" "$New"; then
msg "Already the latest version" "${GRN}"
else
mv -f "$New" "$ScriptFullname"
msg "Successfully updated" "${GRN}"
fi
else
err "Error downloading update"
fi
rm -f "$New"
}
function parse_combined_params () # $1: Combined short parameters function parse_combined_params () # $1: Combined short parameters
{ {
local Param="${1}" local Param="${1}"
@ -1069,6 +1118,7 @@ function parse_params () # $@: Args
-he | --hold-editor ) ArgHoldEditor="true" ;; -he | --hold-editor ) ArgHoldEditor="true" ;;
-nc | --no-color ) ArgNoColors="true" ;; -nc | --no-color ) ArgNoColors="true" ;;
-f | --force ) ArgForce="true" ;; -f | --force ) ArgForce="true" ;;
--update ) ArgUpdate="true" ;;
--* ) die "Unknown option: ${1}" 1 ;; --* ) die "Unknown option: ${1}" 1 ;;
-* ) parse_combined_params "${1}" ;; -* ) parse_combined_params "${1}" ;;
* ) if [[ -n "${1-}" ]]; then die "Unknown option: ${1-}" 1; fi; break ;; * ) if [[ -n "${1-}" ]]; then die "Unknown option: ${1-}" 1; fi; break ;;
@ -1112,6 +1162,7 @@ function main ()
if is_true "$ArgCompile" || is_true "$ArgBrew"; then backup_kfeditorconf; fi if is_true "$ArgCompile" || is_true "$ArgBrew"; then backup_kfeditorconf; fi
# Actions # Actions
if is_true "$ArgUpdate"; then update; fi
if is_true "$ArgInit"; then init; fi if is_true "$ArgInit"; then init; fi
if is_true "$ArgCompile"; then compile; fi if is_true "$ArgCompile"; then compile; fi
if is_true "$ArgBrew"; then brew; fi if is_true "$ArgBrew"; then brew; fi