1use clap::Args;
2use eyre::Result;
3use lux_lib::{config::Config, project::Project, upload::ProjectUpload};
4
5#[cfg(not(target_env = "msvc"))]
6use lux_lib::upload::SignatureProtocol;
7
8#[derive(Args)]
9pub struct Upload {
10 #[cfg(not(target_env = "msvc"))]
12 #[arg(long, default_value_t)]
13 sign_protocol: SignatureProtocol,
14}
15
16#[cfg(not(target_env = "msvc"))]
17pub async fn upload(data: Upload, config: Config) -> Result<()> {
18 let project = Project::current()?.unwrap();
19
20 ProjectUpload::new(project, &config)
21 .sign_protocol(data.sign_protocol)
22 .upload_to_luarocks()
23 .await?;
24
25 Ok(())
26}
27
28#[cfg(target_env = "msvc")]
29pub async fn upload(_data: Upload, config: Config) -> Result<()> {
30 let project = Project::current()?.unwrap();
31
32 ProjectUpload::new(project, &config)
33 .upload_to_luarocks()
34 .await?;
35
36 Ok(())
37}