mod.rs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  2. // SPDX-License-Identifier: Apache-2.0
  3. // SPDX-License-Identifier: MIT
  4. pub mod rust;
  5. use std::path::Path;
  6. use crate::helpers::{config::Config, manifest::Manifest};
  7. use tauri_bundler::bundle::{PackageType, Settings, SettingsBuilder};
  8. pub fn get_bundler_settings(
  9. app_settings: rust::AppSettings,
  10. target: Option<String>,
  11. manifest: &Manifest,
  12. config: &Config,
  13. out_dir: &Path,
  14. verbose: bool,
  15. package_types: Option<Vec<PackageType>>,
  16. ) -> crate::Result<Settings> {
  17. let mut settings_builder = SettingsBuilder::new()
  18. .package_settings(app_settings.get_package_settings())
  19. .bundle_settings(app_settings.get_bundle_settings(config, manifest)?)
  20. .binaries(app_settings.get_binaries(config)?)
  21. .project_out_directory(out_dir);
  22. if verbose {
  23. settings_builder = settings_builder.verbose();
  24. }
  25. if let Some(types) = package_types {
  26. settings_builder = settings_builder.package_types(types);
  27. }
  28. if let Some(target) = target {
  29. settings_builder = settings_builder.target(target);
  30. }
  31. settings_builder.build().map_err(Into::into)
  32. }