A CLI tool that generates configuration files for JOJ3.
| .gitea/workflows | ||
| joj3_config_generator | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| LICENSE | ||
| pdm.lock | ||
| pyproject.toml | ||
| README.md | ||
JOJ3-forge
Introduction
JOJ3-forge is a CLI tool that generates configuration files for JOJ3.
Getting Started
For users
- Install Python>=3.9 and pip
- (Optional) Create a virtual environment, check here.
- Install/Upgrade the project by
pip install --force-reinstall --upgrade git+ssh://git@focs.ji.sjtu.edu.cn:2222/JOJ/JOJ3-config-generator.git - Run it by
joj3-forge --help
For developers
- Clone this repo by
git clone ssh://git@focs.ji.sjtu.edu.cn:2222/JOJ/JOJ3-config-generator.git - Install Python>=3.9 and PDM
- Change dir to the repo,
cd JOJ3-config-generator - Install deps by
pdm install && pdm run pre-commit install - Run the cli app by
pdm run app --help - Check other commands or scripts with
pdm run --list
How to use?
Run joj3-forge --help to get basic CLI usage information.
convert
joj3-forge convertfunction is now supported, currently support one argument as input, it indicates the *convert root- default value on the server should be given as
/home/tt/.config/joj - NOTE: the user should ensure that the ideal
repo.tomlfile is in the sub-directory of the convert root - the intended immutable files should be placed at a sub-directory named
immutable_filesat same position as therepo.tomlfile - a sample directory tree as follows
- default value on the server should be given as
$ tree -a
home
`-- tt
|-- .cache
`-- .config
`-- joj
|-- hidden
| |-- ex1
| | |-- case1.in
| | |-- case1.out
| | |-- conf.json
| | `-- conf.toml
| |-- immutable_files
| | |-- push.yaml
| | `-- release.yaml
| |-- p1
| | |-- case1.in
| | |-- case1.out
| | |-- conf.json
| | `-- conf.toml
| `-- repo.toml
|-- students
| |-- ex1
| | |-- case1.in
| | |-- case1.out
| | |-- conf.json
| | `-- conf.toml
| |-- immutable_files
| | |-- push.yaml
| | `-- release.yaml
| |-- p1
| | |-- case1.in
| | |-- case1.out
| | |-- conf.json
| | `-- conf.toml
| `-- repo.toml
|-- students.csv
`-- tools
|-- .clang-tidy
|-- compile
`-- helper.sh
- sample command on the server
joj3-forge convert /home/tt/.config/joj