docs: README
All checks were successful
build / build (push) Successful in 2m38s
build / trigger-build-image (push) Has been skipped
build / build (pull_request) Successful in 2m10s
build / trigger-build-image (pull_request) Has been skipped

This commit is contained in:
李衍志523370910113 2025-06-11 22:33:15 +08:00
parent f72189dc81
commit 2a6428feec

View File

@ -1,8 +1,12 @@
# JOJ3-config-generator # JOJ3-forge
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/a98f9aa020874a93bc791a7616fccf21)](https://app.codacy.com/gh/joint-online-judge/JOJ3-config-generator/dashboard) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/a98f9aa020874a93bc791a7616fccf21)](https://app.codacy.com/gh/joint-online-judge/JOJ3-config-generator/dashboard)
[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/a98f9aa020874a93bc791a7616fccf21)](https://app.codacy.com/gh/joint-online-judge/JOJ3-config-generator/dashboard) [![Codacy Badge](https://app.codacy.com/project/badge/Coverage/a98f9aa020874a93bc791a7616fccf21)](https://app.codacy.com/gh/joint-online-judge/JOJ3-config-generator/dashboard)
## Introduction
`JOJ3-forge` is a CLI tool that generates configuration files for ![JOJ3](https://github.com/joint-online-judge/JOJ3).
## Getting Started ## Getting Started
### For users ### For users
@ -10,7 +14,7 @@
1. Install [Python>=3.9](https://www.python.org/) and [pip](https://pip.pypa.io/) 1. Install [Python>=3.9](https://www.python.org/) and [pip](https://pip.pypa.io/)
2. (Optional) Create a virtual environment, check [here](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/). 2. (Optional) Create a virtual environment, check [here](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/).
3. Install/Upgrade the project by `pip install --force-reinstall --upgrade git+ssh://git@focs.ji.sjtu.edu.cn:2222/JOJ/JOJ3-config-generator.git` 3. Install/Upgrade the project by `pip install --force-reinstall --upgrade git+ssh://git@focs.ji.sjtu.edu.cn:2222/JOJ/JOJ3-config-generator.git`
4. Run it by `joj3-config-generator --help` 4. Run it by `joj3-forge --help`
### For developers ### For developers
@ -23,22 +27,57 @@
## How to use? ## How to use?
- `joj3-config-generator convert` function is now supported, currently support one argument as input, it indicates the **convert root** Run `joj3-forge --help` to get basic CLI usage information.
- default value on the server can be given as `/home/tt/.config/joj`
### `convert`
- `joj3-forge convert` function 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.toml` file is in the sub-directory of the **convert root** - **NOTE:** the user should ensure that the ideal `repo.toml` file is in the sub-directory of the **convert root**
- the intended immutable files should be placed at a sub-directory named `immutable_files` at same position as the `repo.toml` file - the intended immutable files should be placed at a sub-directory named `immutable_files` at same position as the `repo.toml` file
- a sample directory tree as follows
```shell ```shell
$ tree . $ tree .
. .
|- immutable_files ├── hidden
| |-- push.yaml │   ├── repo.toml
| |-- release.yaml │   ├── immutable_files
|-- repo.toml │   │   ├── push.yaml
│   │   └── release.yaml
│   ├── ex1
│   │   ├── caseX.in
│   │   ├── caseX.out
│   │   ├── conf.json
│   │   └── conf.toml
│   └── p1
│   ├── caseX.in
│   ├── caseX.out
│   ├── conf.json
│   └── conf.toml
├── students
│   ├── repo.toml
│   ├── immutable_files
│   │   ├── push.yaml
│   │   └── release.yaml
│   ├── ex1
│   │   ├── caseX.in
│   │   ├── caseX.out
│   │   ├── conf.json
│   │   └── conf.toml
│   └── p1
│   ├── caseX.in
│   ├── caseX.out
│   ├── conf.json
│   └── conf.toml
├── students.csv
└── tools
├── .clang-tidy
└── compile
``` ```
- sample command on the server - sample command on the server
```shell ```shell
joj3-config-generator convert /home/tt/.config/joj joj3-forge convert /home/tt/.config/joj
``` ```