generated from PlexSheep/rs-base
remove message from changelog, add skeletons for release and publish
cargo devel CI / cargo CI (push) Successful in 4m15s
Details
cargo devel CI / cargo CI (push) Successful in 4m15s
Details
This commit is contained in:
parent
e62a0f3534
commit
0c603f9e56
|
@ -8,7 +8,6 @@ use crate::{
|
|||
/// Represents a changelog that is currently under construction.
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct Changelog {
|
||||
message: Option<String>,
|
||||
git_log: Option<String>,
|
||||
}
|
||||
|
||||
|
@ -17,14 +16,8 @@ impl Changelog {
|
|||
if !cfg.yaml.changelog.enable {
|
||||
return Err(ConfigError::IsDisabledButUsed("changelog").into());
|
||||
}
|
||||
let message: Option<String> = match cfg.cli.command.clone() {
|
||||
Commands::Changelog { message } => match message {
|
||||
Some(msgs) => Some(msgs.concat()),
|
||||
None => None,
|
||||
},
|
||||
};
|
||||
let git_log = Self::make_git_log(cfg)?;
|
||||
Ok(Changelog { message, git_log })
|
||||
Ok(Changelog { git_log })
|
||||
}
|
||||
|
||||
fn make_git_log(cfg: &Config) -> Result<Option<String>> {
|
||||
|
@ -39,9 +32,6 @@ impl Display for Changelog {
|
|||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
let mut full: String = String::new();
|
||||
full += "Changelog";
|
||||
if self.message.is_some() {
|
||||
full += format!("\n\n{}", self.message.clone().unwrap()).as_str();
|
||||
}
|
||||
if self.git_log.is_some() {
|
||||
full += format!("\n\n{}", self.git_log.clone().unwrap()).as_str();
|
||||
}
|
||||
|
|
|
@ -37,7 +37,8 @@ pub struct Cli {
|
|||
|
||||
#[derive(Debug, Clone, Subcommand)]
|
||||
pub enum Commands {
|
||||
Changelog {
|
||||
Changelog {},
|
||||
Release {
|
||||
// FIXME: allow taking a message like this:
|
||||
// `autocrate changelog -m arg1 arg2 arg3`
|
||||
// -> msg="arg1 arg2 arg3"
|
||||
|
@ -48,6 +49,14 @@ pub enum Commands {
|
|||
// TODO:
|
||||
// Perhaps open the $EDITOR of the user if
|
||||
// no message is provided, like git does
|
||||
//
|
||||
// TODO:
|
||||
// find a way to make this a global option but only usable with specific subcommands
|
||||
#[arg(short, long)]
|
||||
message: Option<Vec<String>>,
|
||||
},
|
||||
Publish {
|
||||
// see Commands::Release { message }
|
||||
#[arg(short, long)]
|
||||
message: Option<Vec<String>>,
|
||||
},
|
||||
|
@ -60,6 +69,8 @@ impl Display for Commands {
|
|||
"{}",
|
||||
match self {
|
||||
Self::Changelog { .. } => "Changelog",
|
||||
Self::Release { .. } => "Release",
|
||||
Self::Publish { .. } => "Publish",
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
@ -28,8 +28,8 @@ impl YamlConfigSection for Changelog {
|
|||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub struct UseCargo {
|
||||
publish: bool,
|
||||
registries: Vec<String>,
|
||||
pub publish: bool,
|
||||
pub registries: Vec<String>,
|
||||
}
|
||||
impl YamlConfigSection for UseCargo {
|
||||
fn check(&self) -> Result<()> {
|
||||
|
|
|
@ -16,5 +16,11 @@ fn main() -> Result<()> {
|
|||
println!("{}", Changelog::build(&cfg)?.to_string());
|
||||
Ok(())
|
||||
}
|
||||
Commands::Release { .. } => {
|
||||
todo!()
|
||||
}
|
||||
Commands::Publish { .. } => {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue