add script update feature
This commit is contained in:
parent
9e879862a1
commit
aa5980efd6
@ -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
51
builder
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user