feat: added backup cli command
							parent
							
								
									27d7e681c3
								
							
						
					
					
						commit
						5275356353
					
				|  | @ -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) | ||||
| 
 | ||||
| ### Added | ||||
| 
 | ||||
| * Added `backup` CLI command | ||||
| 
 | ||||
| ### Changed | ||||
| 
 | ||||
| * Running the server now uses the `run` CLI subcommand | ||||
|  |  | |||
							
								
								
									
										12
									
								
								src/cli.rs
								
								
								
								
							
							
						
						
									
										12
									
								
								src/cli.rs
								
								
								
								
							|  | @ -50,6 +50,9 @@ pub struct Cli { | |||
| pub enum Commands { | ||||
|     /// Run the server
 | ||||
|     Run(RunArgs), | ||||
|     /// Create a new backup of the server. This command should only be used when the server is not
 | ||||
|     /// running.
 | ||||
|     Backup(BackupArgs), | ||||
| } | ||||
| 
 | ||||
| #[derive(Args)] | ||||
|  | @ -89,3 +92,12 @@ pub struct RunArgs { | |||
|     #[arg(short, long, default_value_t = false)] | ||||
|     pub dry: bool, | ||||
| } | ||||
| 
 | ||||
| #[derive(Args)] | ||||
| pub struct BackupArgs { | ||||
|     /// Type of server
 | ||||
|     pub type_: ServerType, | ||||
|     /// Version string for the server, e.g. 1.19.4-545
 | ||||
|     #[arg(env = "ALEX_SERVER_VERSION")] | ||||
|     pub server_version: String, | ||||
| } | ||||
|  |  | |||
							
								
								
									
										14
									
								
								src/main.rs
								
								
								
								
							
							
						
						
									
										14
									
								
								src/main.rs
								
								
								
								
							|  | @ -4,7 +4,7 @@ mod signals; | |||
| mod stdin; | ||||
| 
 | ||||
| use clap::Parser; | ||||
| use cli::{Cli, Commands, RunArgs}; | ||||
| use cli::{BackupArgs, Cli, Commands, RunArgs}; | ||||
| use std::io; | ||||
| use std::sync::{Arc, Mutex}; | ||||
| 
 | ||||
|  | @ -57,10 +57,22 @@ fn command_run(cli: &Cli, args: &RunArgs) -> io::Result<()> { | |||
|     signals::handle_signals(&mut signals, counter) | ||||
| } | ||||
| 
 | ||||
| fn commands_backup(cli: &Cli, _args: &BackupArgs) -> io::Result<()> { | ||||
|     let mut manager = server::BackupManager::open( | ||||
|         cli.backup.clone(), | ||||
|         cli.config.clone(), | ||||
|         cli.world.clone(), | ||||
|         cli.max_backups, | ||||
|     )?; | ||||
| 
 | ||||
|     manager.create_backup() | ||||
| } | ||||
| 
 | ||||
| fn main() -> io::Result<()> { | ||||
|     let cli = Cli::parse(); | ||||
| 
 | ||||
|     match &cli.command { | ||||
|         Commands::Run(args) => command_run(&cli, args), | ||||
|         Commands::Backup(args) => commands_backup(&cli, args), | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue