signer.rs 719 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2019-2023 Tauri Programme within The Commons Conservancy
  2. // SPDX-License-Identifier: Apache-2.0
  3. // SPDX-License-Identifier: MIT
  4. use crate::Result;
  5. use clap::{Parser, Subcommand};
  6. mod generate;
  7. mod sign;
  8. #[derive(Parser)]
  9. #[clap(
  10. author,
  11. version,
  12. about = "Tauri updater signer",
  13. subcommand_required(true),
  14. arg_required_else_help(true)
  15. )]
  16. pub struct Cli {
  17. #[clap(subcommand)]
  18. command: Commands,
  19. }
  20. #[derive(Subcommand)]
  21. enum Commands {
  22. Sign(sign::Options),
  23. Generate(generate::Options),
  24. }
  25. pub fn command(cli: Cli) -> Result<()> {
  26. match cli.command {
  27. Commands::Sign(options) => sign::command(options)?,
  28. Commands::Generate(options) => generate::command(options)?,
  29. }
  30. Ok(())
  31. }