Core library for implementing Battle of the Centerländ.
To be able to use this crate, add it to your Cargo.toml
:
toml
[dependencies]
botc-core = { package = "uulm-sopra23-group03-core", version = "0.1" }
While the package is named uulm-sopra23-group03-core
this adds it to your project as botc-core
.
There are features not enabled by default for specific use cases.
toml
[dependencies]
botc-core = { package = "uulm-sopra23-group03-core", version = "0.1", features = ["client"] }
To enable a feature, specify it with the dependency in your Cargo.toml
:
| Feature | Description |
|----------|------------------------------------------------------------------------------------------------------------------------------|
| client
| Enables sink/stream based client functionality with the client
module. Can be used for implementing a client for the game. |
| ai
| Enables the ai
with training data structures. |
Everything can be installed with rustup
:
```
rustup update
rustup toolchain add stable
rustup component add rustfmt
rustup component add clippy ```
This should not output anything when the code is formatted corretcly:
cargo fmt --check
Run the following to automatically format the Rust code:
cargo fmt
Run the following to check the code for common mistakes:
cargo clippy --all-features
Run tests with the following:
cargo test --all-features
Documentation for the local version of the crate can be built and opened with the following:
cargo doc --all-features --open
pull
/fetch
local copy.checkout
to branch created for merge reuqest.add
, commit
and push
changes.There are two important branches: main
and dev
.
main
contains the latest stable state which will then be tagged with releases.
dev
contains the current development state. From and to this branch, merge requests are created.