|
@@ -13,8 +13,9 @@ use super::*;
|
|
#[derive(Clone, Debug, Parser)]
|
|
#[derive(Clone, Debug, Parser)]
|
|
#[clap(name = "bundle")]
|
|
#[clap(name = "bundle")]
|
|
pub struct Bundle {
|
|
pub struct Bundle {
|
|
|
|
+ /// The package types to bundle
|
|
#[clap(long)]
|
|
#[clap(long)]
|
|
- pub package: Option<Vec<String>>,
|
|
|
|
|
|
+ pub packages: Option<Vec<PackageType>>,
|
|
/// The arguments for the dioxus build
|
|
/// The arguments for the dioxus build
|
|
#[clap(flatten)]
|
|
#[clap(flatten)]
|
|
pub build_arguments: Build,
|
|
pub build_arguments: Build,
|
|
@@ -28,7 +29,7 @@ impl Deref for Bundle {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-#[derive(Clone, Debug)]
|
|
|
|
|
|
+#[derive(Clone, Copy, Debug)]
|
|
pub enum PackageType {
|
|
pub enum PackageType {
|
|
MacOsBundle,
|
|
MacOsBundle,
|
|
IosBundle,
|
|
IosBundle,
|
|
@@ -162,6 +163,15 @@ impl Bundle {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Drain any resources set in the config into the resources map. Tauri bundle doesn't let you set both resources and resources_map https://github.com/DioxusLabs/dioxus/issues/2941
|
|
|
|
+ for resource_path in bundle_settings.resources.take().into_iter().flatten() {
|
|
|
|
+ if let Some(resources) = &mut bundle_settings.resources_map {
|
|
|
|
+ resources.insert(resource_path, "".to_string());
|
|
|
|
+ } else {
|
|
|
|
+ bundle_settings.resources_map = Some([(resource_path, "".to_string())].into());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
let mut settings = SettingsBuilder::new()
|
|
let mut settings = SettingsBuilder::new()
|
|
.project_out_directory(dioxus_crate.out_dir())
|
|
.project_out_directory(dioxus_crate.out_dir())
|
|
.package_settings(PackageSettings {
|
|
.package_settings(PackageSettings {
|
|
@@ -174,13 +184,8 @@ impl Bundle {
|
|
})
|
|
})
|
|
.binaries(binaries)
|
|
.binaries(binaries)
|
|
.bundle_settings(bundle_settings);
|
|
.bundle_settings(bundle_settings);
|
|
- if let Some(packages) = &self.package {
|
|
|
|
- settings = settings.package_types(
|
|
|
|
- packages
|
|
|
|
- .iter()
|
|
|
|
- .map(|p| p.parse::<PackageType>().unwrap().into())
|
|
|
|
- .collect(),
|
|
|
|
- );
|
|
|
|
|
|
+ if let Some(packages) = &self.packages {
|
|
|
|
+ settings = settings.package_types(packages.iter().map(|p| (*p).into()).collect());
|
|
}
|
|
}
|
|
|
|
|
|
if let Some(target) = &self.target_args.target {
|
|
if let Some(target) = &self.target_args.target {
|