mirror of
https://github.com/clap-rs/clap
synced 2024-12-14 23:02:31 +00:00
chore: updates meta files for the repo
This commit is contained in:
parent
da8402f0dc
commit
4089561e99
5 changed files with 183 additions and 0 deletions
13
.clog.toml
Normal file
13
.clog.toml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[clog]
|
||||||
|
repository = "https://github.com/kbknapp/clap_derive"
|
||||||
|
outfile = "CHANGELOG.md"
|
||||||
|
from-latest-tag = true
|
||||||
|
|
||||||
|
[sections]
|
||||||
|
Performance = ["perf"]
|
||||||
|
Improvements = ["impr", "im", "imp"]
|
||||||
|
Documentation = ["docs"]
|
||||||
|
Deprecations = ["depr"]
|
||||||
|
Examples = ["examples"]
|
||||||
|
"New Settings" = ["setting", "settings"]
|
||||||
|
"API Additions" = ["add", "api"]
|
84
.github/CONTRIBUTING.md
vendored
Normal file
84
.github/CONTRIBUTING.md
vendored
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
# How to Contribute
|
||||||
|
|
||||||
|
Contributions are always welcome! And there is a multitude of ways in which you can help depending on what you like to do, or are good at. Anything from documentation, code cleanup, issue completion, new features, you name it, even filing issues is contributing and greatly appreciated!
|
||||||
|
|
||||||
|
Another really great way to help is if you find an interesting, or helpful way in which to use `clap_derive`. You can either add it to the [examples/](examples) directory, or file an issue and tell me. I'm all about giving credit where credit is due :)
|
||||||
|
|
||||||
|
### Testing Code
|
||||||
|
|
||||||
|
To test with all features both enabled and disabled, you can run these commands:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cargo test
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, if you have [`just`](https://github.com/casey/just) installed you can run the prebuilt recipes. *Not* using `just` is perfectly fine as well, it simply bundles commands automatically.
|
||||||
|
|
||||||
|
For example, to test the code, as above simply run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ just run-tests
|
||||||
|
```
|
||||||
|
|
||||||
|
From here on, I will list the appropriate `cargo` command as well as the `just` command.
|
||||||
|
|
||||||
|
Sometimes it's helpful to only run a subset of the tests, which can be done via:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cargo test --test <test_name>
|
||||||
|
|
||||||
|
# Or
|
||||||
|
|
||||||
|
$ just run-test <test_name>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Linting Code
|
||||||
|
|
||||||
|
During the CI process `clap_derive` runs against many different lints using [`clippy`](https://github.com/Manishearth/rust-clippy). In order to check if these lints pass on your own computer prior to submitting a PR you'll need a nightly compiler.
|
||||||
|
|
||||||
|
In order to check the code for lints run either:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ cargo +nightly build --features lints
|
||||||
|
|
||||||
|
# Or
|
||||||
|
|
||||||
|
$ just lint
|
||||||
|
```
|
||||||
|
|
||||||
|
### Commit Messages
|
||||||
|
|
||||||
|
I use a [conventional](https://github.com/ajoslin/conventional-changelog/blob/a5505865ff3dd710cf757f50530e73ef0ca641da/conventions/angular.md) changelog format so I can update my changelog automatically using [clog](https://github.com/clog-tool/clog-cli)
|
||||||
|
|
||||||
|
* Please format your commit subject line using the following format: `TYPE(COMPONENT): MESSAGE` where `TYPE` is one of the following:
|
||||||
|
- `api` - An addition to the API
|
||||||
|
- `setting` - A new `AppSettings` variant
|
||||||
|
- `feat` - A new feature of an existing API
|
||||||
|
- `imp` - An improvement to an existing feature/API
|
||||||
|
- `perf` - A performance improvement
|
||||||
|
- `docs` - Changes to documentation only
|
||||||
|
- `tests` - Changes to the testing framework or tests only
|
||||||
|
- `fix` - A bug fix
|
||||||
|
- `refactor` - Code functionality doesn't change, but underlying structure may
|
||||||
|
- `style` - Stylistic changes only, no functionality changes
|
||||||
|
- `wip` - A work in progress commit (Should typically be `git rebase`'ed away)
|
||||||
|
- `chore` - Catch all or things that have to do with the build system, etc
|
||||||
|
- `examples` - Changes to existing example, or a new example
|
||||||
|
* The `COMPONENT` is optional, and may be a single file, directory, or logical component. Parenthesis can be omitted if you are opting not to use the `COMPONENT`.
|
||||||
|
|
||||||
|
### Tests and Documentation
|
||||||
|
|
||||||
|
1. Create tests for your changes
|
||||||
|
2. **Ensure the tests are passing.** Run the tests (`cargo test`), alternatively `just run-tests` if you have `just` installed.
|
||||||
|
3. **Optional** Run the lints (`cargo +nightly build --features lints`) (requires a nightly compiler), alternatively `just lint`
|
||||||
|
4. Ensure your changes contain documentation if adding new APIs or features.
|
||||||
|
|
||||||
|
### Preparing the PR
|
||||||
|
|
||||||
|
1. `git rebase` into concise commits and remove `--fixup`s or `wip` commits (`git rebase -i HEAD~NUM` where `NUM` is number of commits back to start the rebase)
|
||||||
|
2. Push your changes back to your fork (`git push origin $your-branch`)
|
||||||
|
3. Create a pull request against `master`! (You can also create the pull request first, and we'll merge when ready. This a good way to discuss proposed changes.)
|
||||||
|
|
||||||
|
### Other ways to contribute
|
||||||
|
|
||||||
|
Another really great way to help is if you find an interesting, or helpful way in which to use `clap_derive`. You can either add it to the [examples/](../examples) directory, or file an issue and tell me. I'm all about giving credit where credit is due :)
|
23
.github/ISSUE_TEMPLATE.md
vendored
Normal file
23
.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<!--
|
||||||
|
Please use the following template to assist with creating an issue and to ensure a speedy resolution. If an area is not applicable, feel free to delete the area or mark with `N/A`
|
||||||
|
-->
|
||||||
|
|
||||||
|
### Rust Version
|
||||||
|
|
||||||
|
* Use the output of `rustc -V`
|
||||||
|
|
||||||
|
### Affected Version of clap and clap_derive
|
||||||
|
|
||||||
|
* Can be found in Cargo.lock of your project (i.e. `grep clap Cargo.lock`)
|
||||||
|
|
||||||
|
### Expected Behavior Summary
|
||||||
|
|
||||||
|
|
||||||
|
### Actual Behavior Summary
|
||||||
|
|
||||||
|
|
||||||
|
### Steps to Reproduce the issue
|
||||||
|
|
||||||
|
|
||||||
|
### Sample Code or Link to Sample Code
|
||||||
|
|
61
justfile
Normal file
61
justfile
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
|
||||||
|
@update-contributors:
|
||||||
|
echo 'Removing old CONTRIBUTORS.md'
|
||||||
|
mv CONTRIBUTORS.md CONTRIBUTORS.md.bak
|
||||||
|
echo 'Downloading a list of new contributors'
|
||||||
|
echo "the following is a list of contributors:" > CONTRIBUTORS.md
|
||||||
|
echo "" >> CONTRIBUTORS.md
|
||||||
|
echo "" >> CONTRIBUTORS.md
|
||||||
|
githubcontrib --owner kbknapp --repo clap_derive --sha master --cols 6 --format md --showlogin true --sortBy contributions --sortOrder desc >> CONTRIBUTORS.md
|
||||||
|
echo "" >> CONTRIBUTORS.md
|
||||||
|
echo "" >> CONTRIBUTORS.md
|
||||||
|
echo "This list was generated by [mgechev/github-contributors-list](https://github.com/mgechev/github-contributors-list)" >> CONTRIBUTORS.md
|
||||||
|
rm CONTRIBUTORS.md.bak
|
||||||
|
|
||||||
|
run-test TESTG TEST="":
|
||||||
|
cargo test --test {{TESTG}} -- {{TEST}}
|
||||||
|
|
||||||
|
debug TESTG TEST="":
|
||||||
|
cargo test --test {{TESTG}} --features debug -- {{TEST}}
|
||||||
|
|
||||||
|
run-tests:
|
||||||
|
cargo test
|
||||||
|
|
||||||
|
@bench: nightly
|
||||||
|
cargo bench && just remove-nightly
|
||||||
|
|
||||||
|
nightly:
|
||||||
|
rustup override add nightly
|
||||||
|
|
||||||
|
remove-nightly:
|
||||||
|
rustup override remove
|
||||||
|
|
||||||
|
@lint: nightly
|
||||||
|
cargo build --features lints && just remove-nightly
|
||||||
|
|
||||||
|
clean:
|
||||||
|
cargo clean
|
||||||
|
find . -type f -name "*.orig" -exec rm {} \;
|
||||||
|
find . -type f -name "*.bk" -exec rm {} \;
|
||||||
|
find . -type f -name ".*~" -exec rm {} \;
|
||||||
|
|
||||||
|
top-errors NUM="95":
|
||||||
|
@cargo check 2>&1 | head -n {{NUM}}
|
||||||
|
|
||||||
|
count-errors:
|
||||||
|
@cargo check 2>&1 | grep -e '^error' | wc -l
|
||||||
|
|
||||||
|
find-errors:
|
||||||
|
@cargo check 2>&1 | grep --only-matching -e '-->[^:]*' | sort | uniq -c | sort -nr
|
||||||
|
|
||||||
|
count-warnings:
|
||||||
|
@cargo check 2>&1 | grep -e '^warning' | wc -l
|
||||||
|
|
||||||
|
find-warnings:
|
||||||
|
@cargo check 2>&1 | grep -A1 -e 'warning' | grep --only-matching -e '-->[^:]*' | sort | uniq -c | sort -nr
|
||||||
|
|
||||||
|
@update-todo:
|
||||||
|
./etc/update-todo.sh
|
||||||
|
|
||||||
|
@count-failures:
|
||||||
|
./etc/count-tests.sh
|
2
rustfmt.toml
Normal file
2
rustfmt.toml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
format_strings = false
|
||||||
|
fn_single_line = true
|
Loading…
Reference in a new issue