diff --git a/.cargo/config.toml b/.cargo/config.toml index 3056b64..52f99fb 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,2 +1,2 @@ [alias] -runs = "run -- paper --config data/config --backup data/backups --world data/worlds --jar data/paper.jar" +runs = "run -- paper 1.19.4-545 --config data/config --backup data/backups --world data/worlds data/paper-1.19.4-545.jar" diff --git a/.woodpecker/build.yml b/.woodpecker/build.yml index a1722be..1073cc7 100644 --- a/.woodpecker/build.yml +++ b/.woodpecker/build.yml @@ -17,5 +17,3 @@ pipeline: - cargo test --verbose # Binaries, even debug ones, should be statically compiled - '[ "$(readelf -d target/debug/alex | grep NEEDED | wc -l)" = 0 ]' - when: - event: [push] diff --git a/.woodpecker/clippy.yml b/.woodpecker/clippy.yml index 61b150d..44a4b69 100644 --- a/.woodpecker/clippy.yml +++ b/.woodpecker/clippy.yml @@ -9,5 +9,3 @@ pipeline: commands: - rustup component add clippy - cargo clippy -- --no-deps -Dwarnings - when: - event: [push] diff --git a/.woodpecker/lint.yml b/.woodpecker/lint.yml index b74d26d..66d066f 100644 --- a/.woodpecker/lint.yml +++ b/.woodpecker/lint.yml @@ -9,5 +9,3 @@ pipeline: commands: - rustup component add rustfmt - cargo fmt -- --check - when: - event: [push] diff --git a/.woodpecker/release.yml b/.woodpecker/release.yml index 8598241..5c4954c 100644 --- a/.woodpecker/release.yml +++ b/.woodpecker/release.yml @@ -3,7 +3,7 @@ matrix: - 'linux/amd64' # - 'linux/arm64' -platform: ${PLATFORM} +platform: $PLATFORM branches: [ main ] pipeline: @@ -15,7 +15,7 @@ pipeline: # Ensure the release binary is also statically compiled - '[ "$(readelf -d target/release/alex | grep NEEDED | wc -l)" = 0 ]' - du -h target/release/alex - - mv target/release/alex target/release/alex-"$(echo '${PLATFORM}' | sed 's:/:-:g')" + - mv target/release/alex target/release/alex-$(echo '${PLATFORM}' | sed 's:/:-:g')" when: event: tag diff --git a/CHANGELOG.md b/CHANGELOG.md index fbc8428..21d0397 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,15 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://git.rustybever.be/Chewing_Bever/alex/src/branch/dev) -### Changed - -* Better env var support - -## [0.1.0](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.1.0) - ### Added * CLI interface * Working backup command * Thread for periodic backups -* Env var support + diff --git a/src/main.rs b/src/main.rs index 7837887..05a6d96 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,41 +12,19 @@ struct Cli { /// Type of server type_: ServerType, /// Version string for the server, e.g. 1.19.4-545 - #[arg(env = "ALEX_SERVER_VERSION")] server_version: String, - /// Server jar to execute - #[arg( - long, - value_name = "JAR_PATH", - default_value = "server.jar", - env = "ALEX_JAR" - )] jar: PathBuf, - /// Directory where configs are stored, and where the server will run - #[arg( - long, - value_name = "CONFIG_DIR", - default_value = ".", - env = "ALEX_CONFIG_DIR" - )] - config: PathBuf, - /// Directory where world files will be saved - #[arg( - long, - value_name = "WORLD_DIR", - default_value = "../worlds", - env = "ALEX_WORLD_DIR" - )] - world: PathBuf, - /// Directory where backups will be stored - #[arg( - long, - value_name = "BACKUP_DIR", - default_value = "../backups", - env = "ALEX_WORLD_DIR" - )] - backup: PathBuf, + + /// Directory where configs are stored, and where the server will run [default: .] + #[arg(long, value_name = "CONFIG_DIR", env = "ALEX_CONFIG_DIR")] + config: Option, + /// Directory where world files will be saved [default: ../worlds] + #[arg(long, value_name = "WORLD_DIR", env = "ALEX_WORLD_DIR")] + world: Option, + /// Directory where backups will be stored [default: ../backups] + #[arg(long, value_name = "BACKUP_DIR", env = "ALEX_WORLD_DIR")] + backup: Option, /// Java command to run the server jar with #[arg(long, value_name = "JAVA_CMD", default_value_t = String::from("java"), env = "ALEX_JAVA")] java: String, @@ -85,9 +63,9 @@ fn main() { let cmd = server::ServerCommand::new(cli.type_, &cli.server_version) .java(&cli.java) .jar(cli.jar) - .config(cli.config) - .world(cli.world) - .backup(cli.backup) + .config(cli.config.unwrap_or(".".into())) + .world(cli.world.unwrap_or("../worlds".into())) + .backup(cli.backup.unwrap_or("../backups".into())) .xms(cli.xms) .xmx(cli.xmx) .max_backups(cli.max_backups);