1
0

Add auto-generated USAGE.md, update README.md and TODO.md

This commit is contained in:
GenZmeY 2022-02-20 04:24:39 +03:00
parent 0dd0011190
commit 4418a026a9
4 changed files with 138 additions and 14 deletions

41
.github/workflows/docs-autoupdate.yml vendored Normal file
View File

@ -0,0 +1,41 @@
name: docs-autoupdate
on:
push:
branches:
- '*'
jobs:
update-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Update docs
run: |
if ! [[ -e USAGE.md ]]; then touch USAGE.md; fi
mv USAGE.md USAGE.md.old
mkdir tools
cp ./builder ./tools/
chmod +x ./tools/builder
echo '# KF2-BuildTools' >> USAGE.md
echo '[![title](https://img.shields.io/badge/Help-Page-w)](https://github.com/GenZmeY/KF2-BuildTools)' >> USAGE.md
echo '[![version](https://img.shields.io/github/v/tag/genzmey/KF2-BuildTools)](https://github.com/GenZmeY/KF2-BuildTools/tags)' >> USAGE.md
echo '[![docs-autoupdate](https://github.com/GenZmeY/KF2-BuildTools/actions/workflows/docs-autoupdate.yml/badge.svg)](https://github.com/GenZmeY/KF2-BuildTools/actions/workflows/docs-autoupdate.yml)' >> USAGE.md
echo '```' >> USAGE.md
./tools/builder -nch >> USAGE.md
echo '```' >> USAGE.md
if ! cmp -s USAGE.md USAGE.md.old; then
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions"
git add USAGE.md
git commit -m "Update USAGE.md to version $(git describe 2> /dev/null)"
else
echo "No change, skip updating USAGE.md"
fi
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}

View File

@ -1,4 +1,84 @@
# KF2-BuildTools # KF2-BuildTools
[![version](https://img.shields.io/github/v/tag/genzmey/KF2-BuildTools)](https://github.com/GenZmeY/KF2-BuildTools/tags)
git submodule add https://github.com/GenZmeY/KF2-BuildTools tools [![shellcheck](https://github.com/GenZmeY/KF2-BuildTools/actions/workflows/shellcheck-master.yml/badge.svg)](https://github.com/GenZmeY/KF2-BuildTools/actions/workflows/shellcheck-master.yml)
./tools/builder -i [![docs-autoupdate](https://github.com/GenZmeY/KF2-BuildTools/actions/workflows/docs-autoupdate.yml/badge.svg)](https://github.com/GenZmeY/KF2-BuildTools/actions/workflows/docs-autoupdate.yml)
[![license](https://img.shields.io/github/license/GenZmeY/KF2-Server-Extension)](LICENSE)
## Features:
- Build, brew, test and upload to Steam Workshop;
- No need to edit KFEditor.ini at all;
- Sources can be stored in any path;
- Easily switch between different projects.
## Add to your project
[git-bash](https://git-scm.com/) is the only thing you need. If you're already using git, you probably already have it. If not, [install it](https://git-scm.com/download/win).
**There are two options to add KF2-BuildTools to your project:**
### As git submodule
Make sure that the location of folders and files in your project is as follows (Correct it if it's not):
`/<PackageName>/Classes/*uc`
Open git-bash and go to your project: `cd <your_project_path>`
Then run the command:
`git submodule add https://github.com/GenZmeY/KF2-BuildTools tools`
**updating build tools:**
Open git-bash and go to your project: `cd <your_project_path>`
Get updates with the following command: `pushd tools && git pull && popd`
Now if you run `git status` you can see that `tools` has changed:
```
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: tools (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
```
Commit the changes: `git add tools && git commit -m 'update tools'`
### As standalone script
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.
## If you are using someone else's project that has BuildTools...
If you haven't downloaded the project yet, just add `--recurse-submodules` when cloning it:
`git clone --recurse-submodules <someone_else's_project>`
If you have already downloaded the project, just run the command in the project folder:
`git submodule update --init --recursive`
## Usage (Basic)
If you have a simple mutator or game mode, then the usage is also simple:
`./tools/builder --compile` build project
`./tools/builder --test` start project test
`./tools/builder --upload` upload/update your project to/in the steam workshop
If you need help with commands, run: `./tools/builder --help`, or visit [this page](USAGE.md).
## Usage (Advanced)
If your project contains several mutators, *.upk files, external dependencies, or you want to customize the whole process in more detail, then this section is for you.
### Prepare
**UNDER CONSTRUCTION**
### Compilation
**UNDER CONSTRUCTION**
### Brewing
**UNDER CONSTRUCTION**
### Testing
**UNDER CONSTRUCTION**
### Uploading to steam workshop
**UNDER CONSTRUCTION**
## Other
[TODO List](TODO.md)
## License
[GNU GPLv3](LICENSE)

11
TODO.md
View File

@ -1,5 +1,6 @@
# TODO: # TODO:
- write helpfull README.md - write useful README.md
- add map upload support - add map upload support
- *.upk with it's own filesystem (like in weapon packs) - *.upk with it's own filesystem (like in weapon packs)
- add kf2 support in another steam library (`Steam\steamapps\libraryfolders.vdf` may help) - add kf2 support in another steam library (`Steam\steamapps\libraryfolders.vdf` may help)
- add --init-publication-content parameter

12
builder
View File

@ -25,11 +25,13 @@ trap cleanup SIGINT SIGTERM ERR EXIT
function reg_readkey () # $1: path, $2: key function reg_readkey () # $1: path, $2: key
{ {
cygpath -u "$( if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
reg query "$1" //v "$2" | \ cygpath -u "$(
grep -F "$2" | \ reg query "$1" //v "$2" | \
awk '{ $1=$2=""; print $0 }' | \ grep -F "$2" | \
sed -r 's|^\s*(.+)\s*|\1|g')" awk '{ $1=$2=""; print $0 }' | \
sed -r 's|^\s*(.+)\s*|\1|g')"
fi
} }
# Whoami # Whoami