feat: better env var support
ci/woodpecker/push/release unknown status Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/clippy Pipeline was successful Details
ci/woodpecker/push/build Pipeline was successful Details

signal-handling
Jef Roosens 2023-06-05 11:33:44 +02:00
parent b023516162
commit 5a69234877
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
3 changed files with 41 additions and 15 deletions

View File

@ -1,2 +1,2 @@
[alias] [alias]
runs = "run -- paper 1.19.4-545 --config data/config --backup data/backups --world data/worlds data/paper-1.19.4-545.jar" runs = "run -- paper --config data/config --backup data/backups --world data/worlds --jar data/paper.jar"

View File

@ -7,6 +7,10 @@ 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) ## [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) ## [0.1.0](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.1.0)
### Added ### Added

View File

@ -12,19 +12,41 @@ struct Cli {
/// Type of server /// Type of server
type_: ServerType, type_: ServerType,
/// Version string for the server, e.g. 1.19.4-545 /// Version string for the server, e.g. 1.19.4-545
#[arg(env = "ALEX_SERVER_VERSION")]
server_version: String, server_version: String,
/// Server jar to execute
jar: PathBuf,
/// Directory where configs are stored, and where the server will run [default: .] /// Server jar to execute
#[arg(long, value_name = "CONFIG_DIR", env = "ALEX_CONFIG_DIR")] #[arg(
config: Option<PathBuf>, long,
/// Directory where world files will be saved [default: ../worlds] value_name = "JAR_PATH",
#[arg(long, value_name = "WORLD_DIR", env = "ALEX_WORLD_DIR")] default_value = "server.jar",
world: Option<PathBuf>, env = "ALEX_JAR"
/// Directory where backups will be stored [default: ../backups] )]
#[arg(long, value_name = "BACKUP_DIR", env = "ALEX_WORLD_DIR")] jar: PathBuf,
backup: Option<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,
/// Java command to run the server jar with /// Java command to run the server jar with
#[arg(long, value_name = "JAVA_CMD", default_value_t = String::from("java"), env = "ALEX_JAVA")] #[arg(long, value_name = "JAVA_CMD", default_value_t = String::from("java"), env = "ALEX_JAVA")]
java: String, java: String,
@ -63,9 +85,9 @@ fn main() {
let cmd = server::ServerCommand::new(cli.type_, &cli.server_version) let cmd = server::ServerCommand::new(cli.type_, &cli.server_version)
.java(&cli.java) .java(&cli.java)
.jar(cli.jar) .jar(cli.jar)
.config(cli.config.unwrap_or(".".into())) .config(cli.config)
.world(cli.world.unwrap_or("../worlds".into())) .world(cli.world)
.backup(cli.backup.unwrap_or("../backups".into())) .backup(cli.backup)
.xms(cli.xms) .xms(cli.xms)
.xmx(cli.xmx) .xmx(cli.xmx)
.max_backups(cli.max_backups); .max_backups(cli.max_backups);