Browse Source

refactor(bundler): specific settings on dedicated structs, update README (#1380)

Lucas Fernandes Nogueira 4 years ago
parent
commit
080f6391ba

+ 6 - 0
.changes/bundle-macos-refactor.md

@@ -0,0 +1,6 @@
+---
+"tauri-bundler": minor
+"tauri": minor
+---
+
+Rename macOS bundle settings from `osx` to `macOS`.

+ 1 - 1
.github/workflows/build-smoke-tests.yml

@@ -39,7 +39,7 @@ jobs:
           - platform: ubuntu-latest
           - platform: ubuntu-latest
             releaseFolder: target/release/bundle/deb
             releaseFolder: target/release/bundle/deb
           - platform: macos-latest
           - platform: macos-latest
-            releaseFolder: target/release/bundle/osx
+            releaseFolder: target/release/bundle/macos
           - platform: windows-latest
           - platform: windows-latest
             releaseFolder: target/release/bundle/msi
             releaseFolder: target/release/bundle/msi
 
 

+ 5 - 6
cli/core/config_definition.rs

@@ -5,7 +5,7 @@ use serde::{Deserialize, Serialize};
 use serde_json::Value as JsonValue;
 use serde_json::Value as JsonValue;
 use serde_with::skip_serializing_none;
 use serde_with::skip_serializing_none;
 
 
-use std::{collections::HashMap, path::PathBuf};
+use std::collections::HashMap;
 
 
 #[derive(Debug, PartialEq, Clone, Deserialize, Serialize, JsonSchema)]
 #[derive(Debug, PartialEq, Clone, Deserialize, Serialize, JsonSchema)]
 #[serde(untagged)]
 #[serde(untagged)]
@@ -26,7 +26,7 @@ pub struct DebConfig {
 #[skip_serializing_none]
 #[skip_serializing_none]
 #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize, JsonSchema)]
 #[derive(Debug, Default, PartialEq, Clone, Deserialize, Serialize, JsonSchema)]
 #[serde(rename_all = "camelCase", deny_unknown_fields)]
 #[serde(rename_all = "camelCase", deny_unknown_fields)]
-pub struct OsxConfig {
+pub struct MacConfig {
   pub frameworks: Option<Vec<String>>,
   pub frameworks: Option<Vec<String>>,
   pub minimum_system_version: Option<String>,
   pub minimum_system_version: Option<String>,
   pub exception_domain: Option<String>,
   pub exception_domain: Option<String>,
@@ -51,7 +51,7 @@ pub struct PackageConfig {
 pub struct BundleConfig {
 pub struct BundleConfig {
   /// Whether we should build your app with tauri-bundler or plain `cargo build`
   /// Whether we should build your app with tauri-bundler or plain `cargo build`
   pub active: bool,
   pub active: bool,
-  /// The bundle targets, currently supports ["deb", "osx", "msi", "appimage", "dmg"] or "all"
+  /// The bundle targets, currently supports ["deb", "app", "msi", "appimage", "dmg"] or "all"
   pub targets: Option<BundleTarget>,
   pub targets: Option<BundleTarget>,
   /// The app's identifier
   /// The app's identifier
   pub identifier: Option<String>,
   pub identifier: Option<String>,
@@ -65,11 +65,10 @@ pub struct BundleConfig {
   pub category: Option<String>,
   pub category: Option<String>,
   pub short_description: Option<String>,
   pub short_description: Option<String>,
   pub long_description: Option<String>,
   pub long_description: Option<String>,
-  pub script: Option<PathBuf>,
   #[serde(default)]
   #[serde(default)]
   pub deb: DebConfig,
   pub deb: DebConfig,
-  #[serde(default)]
-  pub osx: OsxConfig,
+  #[serde(rename = "macOS", default)]
+  pub macos: MacConfig,
   pub external_bin: Option<Vec<String>>,
   pub external_bin: Option<Vec<String>>,
 }
 }
 
 

+ 16 - 22
cli/core/schema.json

@@ -84,7 +84,7 @@
           "deb": {
           "deb": {
             "useBootstrapper": false
             "useBootstrapper": false
           },
           },
-          "osx": {
+          "macOS": {
             "useBootstrapper": false
             "useBootstrapper": false
           }
           }
         },
         },
@@ -296,13 +296,13 @@
             "null"
             "null"
           ]
           ]
         },
         },
-        "osx": {
+        "macOS": {
           "default": {
           "default": {
             "useBootstrapper": false
             "useBootstrapper": false
           },
           },
           "allOf": [
           "allOf": [
             {
             {
-              "$ref": "#/definitions/OsxConfig"
+              "$ref": "#/definitions/MacConfig"
             }
             }
           ]
           ]
         },
         },
@@ -316,12 +316,6 @@
             "type": "string"
             "type": "string"
           }
           }
         },
         },
-        "script": {
-          "type": [
-            "string",
-            "null"
-          ]
-        },
         "shortDescription": {
         "shortDescription": {
           "type": [
           "type": [
             "string",
             "string",
@@ -329,7 +323,7 @@
           ]
           ]
         },
         },
         "targets": {
         "targets": {
-          "description": "The bundle targets, currently supports [\"deb\", \"osx\", \"msi\", \"appimage\", \"dmg\"] or \"all\"",
+          "description": "The bundle targets, currently supports [\"deb\", \"app\", \"msi\", \"appimage\", \"dmg\"] or \"all\"",
           "anyOf": [
           "anyOf": [
             {
             {
               "$ref": "#/definitions/BundleTarget"
               "$ref": "#/definitions/BundleTarget"
@@ -723,17 +717,7 @@
       },
       },
       "additionalProperties": false
       "additionalProperties": false
     },
     },
-    "NotificationAllowlistConfig": {
-      "type": "object",
-      "properties": {
-        "all": {
-          "default": false,
-          "type": "boolean"
-        }
-      },
-      "additionalProperties": false
-    },
-    "OsxConfig": {
+    "MacConfig": {
       "type": "object",
       "type": "object",
       "properties": {
       "properties": {
         "exceptionDomain": {
         "exceptionDomain": {
@@ -770,6 +754,16 @@
       },
       },
       "additionalProperties": false
       "additionalProperties": false
     },
     },
+    "NotificationAllowlistConfig": {
+      "type": "object",
+      "properties": {
+        "all": {
+          "default": false,
+          "type": "boolean"
+        }
+      },
+      "additionalProperties": false
+    },
     "PackageConfig": {
     "PackageConfig": {
       "type": "object",
       "type": "object",
       "properties": {
       "properties": {
@@ -879,7 +873,7 @@
             "deb": {
             "deb": {
               "useBootstrapper": false
               "useBootstrapper": false
             },
             },
-            "osx": {
+            "macOS": {
               "useBootstrapper": false
               "useBootstrapper": false
             }
             }
           },
           },

+ 14 - 9
cli/core/src/build/rust.rs

@@ -3,7 +3,9 @@ use std::{fs::File, io::Read, path::PathBuf, process::Command, str::FromStr};
 use serde::Deserialize;
 use serde::Deserialize;
 
 
 use crate::helpers::{app_paths::tauri_dir, config::Config};
 use crate::helpers::{app_paths::tauri_dir, config::Config};
-use tauri_bundler::{AppCategory, BundleBinary, BundleSettings, PackageSettings};
+use tauri_bundler::{
+  AppCategory, BundleBinary, BundleSettings, DebianSettings, MacOSSettings, PackageSettings,
+};
 
 
 /// The `workspace` section of the app configuration (read from Cargo.toml).
 /// The `workspace` section of the app configuration (read from Cargo.toml).
 #[derive(Clone, Debug, Deserialize)]
 #[derive(Clone, Debug, Deserialize)]
@@ -317,15 +319,18 @@ fn tauri_config_to_bundle_settings(
     },
     },
     short_description: config.short_description,
     short_description: config.short_description,
     long_description: config.long_description,
     long_description: config.long_description,
-    script: config.script,
-    deb_depends: config.deb.depends,
-    deb_use_bootstrapper: Some(config.deb.use_bootstrapper),
-    osx_frameworks: config.osx.frameworks,
-    osx_minimum_system_version: config.osx.minimum_system_version,
-    osx_license: config.osx.license,
-    osx_use_bootstrapper: Some(config.osx.use_bootstrapper),
     external_bin: config.external_bin,
     external_bin: config.external_bin,
-    exception_domain: config.osx.exception_domain,
+    deb: DebianSettings {
+      depends: config.deb.depends,
+      use_bootstrapper: Some(config.deb.use_bootstrapper),
+    },
+    macos: MacOSSettings {
+      frameworks: config.macos.frameworks,
+      minimum_system_version: config.macos.minimum_system_version,
+      license: config.macos.license,
+      use_bootstrapper: Some(config.macos.use_bootstrapper),
+      exception_domain: config.macos.exception_domain,
+    },
     ..Default::default()
     ..Default::default()
   })
   })
 }
 }

+ 2 - 2
cli/core/templates/src-tauri/tauri.conf.json

@@ -31,7 +31,7 @@
         "depends": [],
         "depends": [],
         "useBootstrapper": false
         "useBootstrapper": false
       },
       },
-      "osx": {
+      "macOS": {
         "frameworks": [],
         "frameworks": [],
         "minimumSystemVersion": "",
         "minimumSystemVersion": "",
         "useBootstrapper": false,
         "useBootstrapper": false,
@@ -54,4 +54,4 @@
       "csp": "default-src blob: data: filesystem: ws: http: https: 'unsafe-eval' 'unsafe-inline'"
       "csp": "default-src blob: data: filesystem: ws: http: https: 'unsafe-eval' 'unsafe-inline'"
     }
     }
   }
   }
-}
+}

+ 56 - 68
cli/tauri-bundler/Readme.md → cli/tauri-bundler/README.md

@@ -1,31 +1,14 @@
-# Cargo Tauri Bundle
+# Tauri Bundler
 
 
-Wrap Rust executables in OS-specific app bundles
+Wrap Rust executables in OS-specific app bundles.
 
 
 ## About
 ## About
 
 
-`cargo tauri-bundle` is a tool used to generate installers or app bundles for GUI
-executables built with `cargo`.  It can create `.app` bundles for Mac OS X and
-iOS, `.deb` packages for Linux, and `.msi` installers for Windows (note however
-that iOS and Windows support is still experimental).  Support for creating
-`.rpm` packages (for Linux) and `.apk` packages (for Android) is still pending.
+This is a fork of the awesome [cargo-bundle](https://github.com/burtonageo/cargo-bundle), turned into a library used by the [Tauri CLI](../core).
 
 
-To install `cargo tauri-bundle`, run `cargo install cargo-tauri-bundle`. This will add the most recent version of `cargo-bundle`
-published to [crates.io](https://crates.io/crates/cargo-bundle) as a subcommand to your default `cargo` installation.
+## Configuration
 
 
-To start using `cargo tauri-bundle`, add a `[package.metadata.bundle]` section to your project's `Cargo.toml` file.  This
-section describes various attributes of the generated bundle, such as its name, icon, description, copyright, as well
-as any packaging scripts you need to generate extra data.  The full manifest format is described below.
-
-To build a bundle for the OS you're on, simply run `cargo tauri-bundle` in your
-project's directory (where the `Cargo.toml` is placed).  If you would like to
-bundle a release build, you must add the `--release` flag to your call.  To
-cross-compile and bundle an application for another OS, add an appropriate
-`--target` flag, just as you would for `cargo build`.
-
-## Bundle manifest format
-
-There are several fields in the `[package.metadata.bundle]` section.
+Tauri automatically loads configurations from the `tauri.conf.json > tauri > bundle` object, but this library doesn't rely on it and can be used by non-Tauri apps.
 
 
 ### General settings
 ### General settings
 
 
@@ -39,7 +22,7 @@ These settings apply to bundles for all (or most) OSes.
    bundle's `CFBundleIdentifier` value; for Windows, this is hashed to create
    bundle's `CFBundleIdentifier` value; for Windows, this is hashed to create
    an application GUID.
    an application GUID.
  * `icon`: [OPTIONAL] The icons used for your application.  This should be an array of file paths or globs (with images
  * `icon`: [OPTIONAL] The icons used for your application.  This should be an array of file paths or globs (with images
-           in various sizes/formats); `cargo-bundle` will automatically convert between image formats as necessary for
+           in various sizes/formats); `tauri-bundler` will automatically convert between image formats as necessary for
            different platforms.  Supported formats include ICNS, ICO, PNG, and anything else that can be decoded by the
            different platforms.  Supported formats include ICNS, ICO, PNG, and anything else that can be decoded by the
            [`image`](https://crates.io/crates/image) crate.  Icons intended for high-resolution (e.g. Retina) displays
            [`image`](https://crates.io/crates/image) crate.  Icons intended for high-resolution (e.g. Retina) displays
            should have a filename with `@2x` just before the extension (see example below).
            should have a filename with `@2x` just before the extension (see example below).
@@ -47,14 +30,12 @@ These settings apply to bundles for all (or most) OSes.
               value from your `Cargo.toml` file.
               value from your `Cargo.toml` file.
  * `resources`: [OPTIONAL] List of files or directories which will be copied to the resources section of the
  * `resources`: [OPTIONAL] List of files or directories which will be copied to the resources section of the
                 bundle. Globs are supported.
                 bundle. Globs are supported.
- * `script`: [OPTIONAL] This is a reserved field; at the moment it is not used for anything, but may be used to
-             run scripts while packaging the bundle (e.g. download files, compress and encrypt, etc.).
  * `copyright`: [OPTIONAL] This contains a copyright string associated with your application.
  * `copyright`: [OPTIONAL] This contains a copyright string associated with your application.
  * `category`: [OPTIONAL] What kind of application this is.  This can
  * `category`: [OPTIONAL] What kind of application this is.  This can
    be a human-readable string (e.g. `"Puzzle game"`), or a Mac OS X
    be a human-readable string (e.g. `"Puzzle game"`), or a Mac OS X
    LSApplicationCategoryType value
    LSApplicationCategoryType value
    (e.g. `"public.app-category.puzzle-games"`), or a GNOME desktop
    (e.g. `"public.app-category.puzzle-games"`), or a GNOME desktop
-   file category name (e.g. `"LogicGame"`), and `cargo-bundle` will
+   file category name (e.g. `"LogicGame"`), and `tauri-bundler` will
    automatically convert as needed for different platforms.
    automatically convert as needed for different platforms.
  * `short_description`: [OPTIONAL] A short, one-line description of the application. If this is not present, then it
  * `short_description`: [OPTIONAL] A short, one-line description of the application. If this is not present, then it
                         will use the `description` value from your `Cargo.toml` file.
                         will use the `description` value from your `Cargo.toml` file.
@@ -64,72 +45,79 @@ These settings apply to bundles for all (or most) OSes.
 
 
 These settings are used only when bundling `deb` packages.
 These settings are used only when bundling `deb` packages.
 
 
-* `deb_depends`: A list of strings indicating other packages (e.g. shared
+* `depends`: A list of strings indicating other packages (e.g. shared
   libraries) that this package depends on to be installed.  If present, this
   libraries) that this package depends on to be installed.  If present, this
   forms the `Depends:` field of the `deb` package control file.
   forms the `Depends:` field of the `deb` package control file.
+* `use_bootstrapper`: Enables the bootstrapper script, which allows access to the environment variables.
 
 
 ### Mac OS X-specific settings
 ### Mac OS X-specific settings
 
 
-These settings are used only when bundling `osx` packages.
+These settings are used only when bundling `app` and `dmg` packages.
 
 
-* `osx_frameworks`: A list of strings indicating any Mac OS X frameworks that
+* `frameworks`: A list of strings indicating any Mac OS X frameworks that
   need to be bundled with the app.  Each string can either be the name of a
   need to be bundled with the app.  Each string can either be the name of a
   framework (without the `.framework` extension, e.g. `"SDL2"`), in which case
   framework (without the `.framework` extension, e.g. `"SDL2"`), in which case
-  `cargo-bundle` will search for that framework in the standard install
+  `tauri-bundler` will search for that framework in the standard install
   locations (`~/Library/Frameworks/`, `/Library/Frameworks/`, and
   locations (`~/Library/Frameworks/`, `/Library/Frameworks/`, and
   `/Network/Library/Frameworks/`), or a path to a specific framework bundle
   `/Network/Library/Frameworks/`), or a path to a specific framework bundle
   (e.g. `./data/frameworks/SDL2.framework`).  Note that this setting just makes
   (e.g. `./data/frameworks/SDL2.framework`).  Note that this setting just makes
-  `cargo-bundle` copy the specified frameworks into the OS X app bundle (under
+  `tauri-bundler` copy the specified frameworks into the OS X app bundle (under
   `Foobar.app/Contents/Frameworks/`); you are still responsible for (1)
   `Foobar.app/Contents/Frameworks/`); you are still responsible for (1)
   arranging for the compiled binary to link against those frameworks (e.g. by
   arranging for the compiled binary to link against those frameworks (e.g. by
   emitting lines like `cargo:rustc-link-lib=framework=SDL2` from your
   emitting lines like `cargo:rustc-link-lib=framework=SDL2` from your
   `build.rs` script), and (2) embedding the correct rpath in your binary
   `build.rs` script), and (2) embedding the correct rpath in your binary
   (e.g. by running `install_name_tool -add_rpath
   (e.g. by running `install_name_tool -add_rpath
   "@executable_path/../Frameworks" path/to/binary` after compiling).
   "@executable_path/../Frameworks" path/to/binary` after compiling).
-* `osx_minimum_system_version`: A version string indicating the minimum Mac OS
+* `minimum_system_version`: A version string indicating the minimum Mac OS
   X version that the bundled app supports (e.g. `"10.11"`).  If you are using
   X version that the bundled app supports (e.g. `"10.11"`).  If you are using
   this config field, you may also want have your `build.rs` script emit
   this config field, you may also want have your `build.rs` script emit
   `cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.11` (or whatever version number
   `cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.11` (or whatever version number
   you want) to ensure that the compiled binary has the same minimum version.
   you want) to ensure that the compiled binary has the same minimum version.
-
-### Example `Cargo.toml`:
-
-```toml
-[package]
-name = "example"
-# ...other fields...
-
-[package.metadata.bundle]
-name = "ExampleApplication"
-identifier = "com.doe.exampleapplication"
-icon = ["32x32.png", "128x128.png", "128x128@2x.png"]
-version = "1.0.0"
-resources = ["assets", "images/**/*.png", "secrets/public_key.txt"]
-copyright = "Copyright (c) Jane Doe 2016. All rights reserved."
-category = "Developer Tool"
-short_description = "An example application."
-long_description = """
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
-eiusmod tempor incididunt ut labore et dolore magna aliqua.  Ut
-enim ad minim veniam, quis nostrud exercitation ullamco laboris
-nisi ut aliquip ex ea commodo consequat.
-"""
-deb_depends = ["libgl1-mesa-glx", "libsdl2-2.0-0 (>= 2.0.5)"]
-osx_frameworks = ["SDL2"]
+* `license`: Path to the license file for the DMG bundle.
+* `exception_domain`: The exception domain to use on the macOS .app bundle. Allows communication to the outside world e.g. a web server you're shipping.
+* `use_bootstrapper`: Enables the bootstrapper script, which allows access to the environment variables.
+
+### Example `tauri.conf.json`:
+
+```json
+{
+  "package": {
+    "productName": "Your Awesome App",
+    "version": "0.1.0"
+  },
+  "tauri": {
+    "bundle": {
+      "active": true,
+      "identifier": "com.my.app",
+      "shortDescription": "",
+      "longDescription": "",
+      "copyright": "Copyright (c) You 2021. All rights reserved.",
+      "icon": [
+        "icons/32x32.png",
+        "icons/128x128.png",
+        "icons/128x128@2x.png",
+        "icons/icon.icns",
+        "icons/icon.ico"
+      ],
+      "resources": ["./assets/**/*.png"],
+      "deb": {
+        "depends": ["debian-dependency1", "debian-dependency2"],
+        "useBootstrapper": true
+      },
+      "macOS": {
+        "frameworks": [],
+        "minimumSystemVersion": "10.11",
+        "license": "./LICENSE",
+        "useBootstrapper": true
+      },
+      "externalBin": ["./sidecar-app"]
+    }
+  }
+}
 ```
 ```
 
 
-## Contributing
-
-`cargo-tauri-bundle` has ambitions to be inclusive project and welcome contributions from anyone.  Please abide by the Rust
-code of conduct.
-
-## Status
-
-Very early alpha. Expect the format of the `[package.metadata.bundle]` section to change, and there is no guarantee of
-stability.
-
 ## License
 ## License
-(c) 2017 - present, George Burton, Lucas Fernandes Gonçalves Nogueira, Daniel Thompson-Yvetot, Razvan Stoenescu
+(c) 2017 - present, George Burton, Tauri-Apps Organization
 
 
 This program is licensed either under the terms of the
 This program is licensed either under the terms of the
 [Apache Software License](http://www.apache.org/licenses/LICENSE-2.0), or the
 [Apache Software License](http://www.apache.org/licenses/LICENSE-2.0), or the

+ 5 - 4
cli/tauri-bundler/src/bundle.rs

@@ -4,9 +4,9 @@ mod common;
 mod deb_bundle;
 mod deb_bundle;
 mod dmg_bundle;
 mod dmg_bundle;
 mod ios_bundle;
 mod ios_bundle;
+mod macos_bundle;
 #[cfg(target_os = "windows")]
 #[cfg(target_os = "windows")]
 mod msi_bundle;
 mod msi_bundle;
-mod osx_bundle;
 mod path_utils;
 mod path_utils;
 mod platform;
 mod platform;
 mod rpm_bundle;
 mod rpm_bundle;
@@ -18,7 +18,8 @@ pub use self::{
   category::AppCategory,
   category::AppCategory,
   common::{print_error, print_info},
   common::{print_error, print_info},
   settings::{
   settings::{
-    BundleBinary, BundleSettings, PackageSettings, PackageType, Settings, SettingsBuilder,
+    BundleBinary, BundleSettings, DebianSettings, MacOSSettings, PackageSettings, PackageType,
+    Settings, SettingsBuilder,
   },
   },
 };
 };
 use common::print_finished;
 use common::print_finished;
@@ -32,11 +33,11 @@ pub fn bundle_project(settings: Settings) -> crate::Result<Vec<PathBuf>> {
   let package_types = settings.package_types()?;
   let package_types = settings.package_types()?;
   for package_type in &package_types {
   for package_type in &package_types {
     let mut bundle_paths = match package_type {
     let mut bundle_paths = match package_type {
-      PackageType::OsxBundle => {
+      PackageType::MacOSBundle => {
         if package_types.clone().iter().any(|&t| t == PackageType::Dmg) {
         if package_types.clone().iter().any(|&t| t == PackageType::Dmg) {
           vec![]
           vec![]
         } else {
         } else {
-          osx_bundle::bundle_project(&settings)?
+          macos_bundle::bundle_project(&settings)?
         }
         }
       }
       }
       PackageType::IosBundle => ios_bundle::bundle_project(&settings)?,
       PackageType::IosBundle => ios_bundle::bundle_project(&settings)?,

+ 8 - 5
cli/tauri-bundler/src/bundle/category.rs

@@ -2,7 +2,7 @@ use std::{fmt, str::FromStr};
 
 
 const CONFIDENCE_THRESHOLD: f64 = 0.8;
 const CONFIDENCE_THRESHOLD: f64 = 0.8;
 
 
-const OSX_APP_CATEGORY_PREFIX: &str = "public.app-category.";
+const MACOS_APP_CATEGORY_PREFIX: &str = "public.app-category.";
 
 
 // TODO: RIght now, these categories correspond to LSApplicationCategoryType
 // TODO: RIght now, these categories correspond to LSApplicationCategoryType
 // values for OS X.  There are also some additional GNOME registered categories
 // values for OS X.  There are also some additional GNOME registered categories
@@ -61,8 +61,11 @@ impl FromStr for AppCategory {
   fn from_str(input: &str) -> Result<AppCategory, Self::Err> {
   fn from_str(input: &str) -> Result<AppCategory, Self::Err> {
     // Canonicalize input:
     // Canonicalize input:
     let mut input = input.to_ascii_lowercase();
     let mut input = input.to_ascii_lowercase();
-    if input.starts_with(OSX_APP_CATEGORY_PREFIX) {
-      input = input.split_at(OSX_APP_CATEGORY_PREFIX.len()).1.to_string();
+    if input.starts_with(MACOS_APP_CATEGORY_PREFIX) {
+      input = input
+        .split_at(MACOS_APP_CATEGORY_PREFIX.len())
+        .1
+        .to_string();
     }
     }
     input = input.replace(" ", "");
     input = input.replace(" ", "");
     input = input.replace("-", "");
     input = input.replace("-", "");
@@ -181,7 +184,7 @@ impl AppCategory {
 
 
   /// Map an AppCategory to the closest LSApplicationCategoryType value that
   /// Map an AppCategory to the closest LSApplicationCategoryType value that
   /// matches that category.
   /// matches that category.
-  pub fn osx_application_category_type(self) -> &'static str {
+  pub fn macos_application_category_type(self) -> &'static str {
     match &self {
     match &self {
       AppCategory::Business => "public.app-category.business",
       AppCategory::Business => "public.app-category.business",
       AppCategory::DeveloperTool => "public.app-category.developer-tools",
       AppCategory::DeveloperTool => "public.app-category.developer-tools",
@@ -454,7 +457,7 @@ mod tests {
     // macOS app bundle LSApplicationCategoryType.
     // macOS app bundle LSApplicationCategoryType.
     for &value in values.iter() {
     for &value in values.iter() {
       let category = AppCategory::from_str(value).expect(value);
       let category = AppCategory::from_str(value).expect(value);
-      assert_eq!(category.osx_application_category_type(), value);
+      assert_eq!(category.macos_application_category_type(), value);
     }
     }
   }
   }
 }
 }

+ 3 - 3
cli/tauri-bundler/src/bundle/deb_bundle.rs

@@ -107,7 +107,7 @@ pub fn generate_data(settings: &Settings, package_dir: &Path) -> crate::Result<P
   generate_icon_files(settings, &data_dir).with_context(|| "Failed to create icon files")?;
   generate_icon_files(settings, &data_dir).with_context(|| "Failed to create icon files")?;
   generate_desktop_file(settings, &data_dir).with_context(|| "Failed to create desktop file")?;
   generate_desktop_file(settings, &data_dir).with_context(|| "Failed to create desktop file")?;
 
 
-  let use_bootstrapper = settings.debian_use_bootstrapper();
+  let use_bootstrapper = settings.deb().use_bootstrapper.unwrap_or_default();
   if use_bootstrapper {
   if use_bootstrapper {
     generate_bootstrap_file(settings, &data_dir)
     generate_bootstrap_file(settings, &data_dir)
       .with_context(|| "Failed to generate bootstrap file")?;
       .with_context(|| "Failed to generate bootstrap file")?;
@@ -196,7 +196,7 @@ fn generate_desktop_file(settings: &Settings, data_dir: &Path) -> crate::Result<
   if !settings.short_description().is_empty() {
   if !settings.short_description().is_empty() {
     writeln!(file, "Comment={}", settings.short_description())?;
     writeln!(file, "Comment={}", settings.short_description())?;
   }
   }
-  let use_bootstrapper = settings.debian_use_bootstrapper();
+  let use_bootstrapper = settings.deb().use_bootstrapper.unwrap_or_default();
   writeln!(
   writeln!(
     file,
     file,
     "Exec={}",
     "Exec={}",
@@ -239,7 +239,7 @@ fn generate_control_file(
   if !settings.homepage_url().is_empty() {
   if !settings.homepage_url().is_empty() {
     writeln!(&mut file, "Homepage: {}", settings.homepage_url())?;
     writeln!(&mut file, "Homepage: {}", settings.homepage_url())?;
   }
   }
-  let dependencies = settings.debian_dependencies();
+  let dependencies = settings.deb().depends.as_ref().cloned().unwrap_or_default();
   if !dependencies.is_empty() {
   if !dependencies.is_empty() {
     writeln!(&mut file, "Depends: {}", dependencies.join(", "))?;
     writeln!(&mut file, "Depends: {}", dependencies.join(", "))?;
   }
   }

+ 4 - 4
cli/tauri-bundler/src/bundle/dmg_bundle.rs

@@ -1,4 +1,4 @@
-use super::{common, osx_bundle};
+use super::{common, macos_bundle};
 use crate::Settings;
 use crate::Settings;
 
 
 use anyhow::Context;
 use anyhow::Context;
@@ -14,7 +14,7 @@ use std::{
 /// Returns a vector of PathBuf that shows where the DMG was created.
 /// Returns a vector of PathBuf that shows where the DMG was created.
 pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
 pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
   // generate the .app bundle
   // generate the .app bundle
-  osx_bundle::bundle_project(settings)?;
+  macos_bundle::bundle_project(settings)?;
 
 
   // get the target path
   // get the target path
   let output_path = settings.project_out_directory().join("bundle/dmg");
   let output_path = settings.project_out_directory().join("bundle/dmg");
@@ -31,7 +31,7 @@ pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
   let dmg_path = output_path.join(&dmg_name);
   let dmg_path = output_path.join(&dmg_name);
 
 
   let product_name = &format!("{}.app", &package_base_name);
   let product_name = &format!("{}.app", &package_base_name);
-  let bundle_dir = settings.project_out_directory().join("bundle/osx");
+  let bundle_dir = settings.project_out_directory().join("bundle/macos");
   let bundle_path = bundle_dir.join(&product_name.clone());
   let bundle_path = bundle_dir.join(&product_name.clone());
 
 
   let support_directory_path = output_path.join("support");
   let support_directory_path = output_path.join("support");
@@ -96,7 +96,7 @@ pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
     &product_name,
     &product_name,
   ];
   ];
 
 
-  if let Some(license_path) = settings.osx_license() {
+  if let Some(license_path) = &settings.macos().license {
     args.push("--eula");
     args.push("--eula");
     args.push(license_path);
     args.push(license_path);
   }
   }

+ 15 - 10
cli/tauri-bundler/src/bundle/osx_bundle.rs → cli/tauri-bundler/src/bundle/macos_bundle.rs

@@ -1,4 +1,4 @@
-// An OSX package is laid out like:
+// A macOS application bundle package is laid out like:
 //
 //
 // foobar.app    # Actually a directory
 // foobar.app    # Actually a directory
 //     Contents      # A further subdirectory
 //     Contents      # A further subdirectory
@@ -48,7 +48,7 @@ pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
   common::print_bundling(&app_product_name)?;
   common::print_bundling(&app_product_name)?;
   let app_bundle_path = settings
   let app_bundle_path = settings
     .project_out_directory()
     .project_out_directory()
-    .join("bundle/osx")
+    .join("bundle/macos")
     .join(&app_product_name);
     .join(&app_product_name);
   if app_bundle_path.exists() {
   if app_bundle_path.exists() {
     fs::remove_dir_all(&app_bundle_path)
     fs::remove_dir_all(&app_bundle_path)
@@ -82,10 +82,10 @@ pub fn bundle_project(settings: &Settings) -> crate::Result<Vec<PathBuf>> {
 
 
   copy_binaries_to_bundle(&bundle_directory, settings)?;
   copy_binaries_to_bundle(&bundle_directory, settings)?;
 
 
-  let use_bootstrapper = settings.osx_use_bootstrapper();
+  let use_bootstrapper = settings.macos().use_bootstrapper.unwrap_or_default();
   if use_bootstrapper {
   if use_bootstrapper {
     create_bootstrapper(&bundle_directory, settings)
     create_bootstrapper(&bundle_directory, settings)
-      .with_context(|| "Failed to create OSX bootstrapper")?;
+      .with_context(|| "Failed to create macOS bootstrapper")?;
   }
   }
   Ok(vec![app_bundle_path])
   Ok(vec![app_bundle_path])
 }
 }
@@ -162,7 +162,7 @@ fn create_info_plist(
 ) -> crate::Result<()> {
 ) -> crate::Result<()> {
   let build_number = chrono::Utc::now().format("%Y%m%d.%H%M%S");
   let build_number = chrono::Utc::now().format("%Y%m%d.%H%M%S");
   let file = &mut common::create_file(&bundle_dir.join("Info.plist"))?;
   let file = &mut common::create_file(&bundle_dir.join("Info.plist"))?;
-  let use_bootstrapper = settings.osx_use_bootstrapper();
+  let use_bootstrapper = settings.macos().use_bootstrapper.unwrap_or_default();
   write!(
   write!(
     file,
     file,
     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
@@ -232,10 +232,10 @@ fn create_info_plist(
       file,
       file,
       "  <key>LSApplicationCategoryType</key>\n  \
       "  <key>LSApplicationCategoryType</key>\n  \
        <string>{}</string>\n",
        <string>{}</string>\n",
-      category.osx_application_category_type()
+      category.macos_application_category_type()
     )?;
     )?;
   }
   }
-  if let Some(version) = settings.osx_minimum_system_version() {
+  if let Some(version) = &settings.macos().minimum_system_version {
     write!(
     write!(
       file,
       file,
       "  <key>LSMinimumSystemVersion</key>\n  \
       "  <key>LSMinimumSystemVersion</key>\n  \
@@ -254,7 +254,7 @@ fn create_info_plist(
     )?;
     )?;
   }
   }
 
 
-  if let Some(exception_domain) = settings.exception_domain() {
+  if let Some(exception_domain) = &settings.macos().exception_domain {
     write!(
     write!(
       file,
       file,
       "  <key>NSAppTransportSecurity</key>\n  \
       "  <key>NSAppTransportSecurity</key>\n  \
@@ -291,9 +291,14 @@ fn copy_framework_from(dest_dir: &Path, framework: &str, src_dir: &Path) -> crat
   }
   }
 }
 }
 
 
-// Copies the OSX bundle frameworks to the .app
+// Copies the macOS application bundle frameworks to the .app
 fn copy_frameworks_to_bundle(bundle_directory: &Path, settings: &Settings) -> crate::Result<()> {
 fn copy_frameworks_to_bundle(bundle_directory: &Path, settings: &Settings) -> crate::Result<()> {
-  let frameworks = settings.osx_frameworks();
+  let frameworks = settings
+    .macos()
+    .frameworks
+    .as_ref()
+    .cloned()
+    .unwrap_or_default();
   if frameworks.is_empty() {
   if frameworks.is_empty() {
     return Ok(());
     return Ok(());
   }
   }

+ 60 - 81
cli/tauri-bundler/src/bundle/settings.rs

@@ -11,8 +11,8 @@ use std::{
 /// The type of the package we're bundling.
 /// The type of the package we're bundling.
 #[derive(Clone, Copy, Debug, Eq, PartialEq)]
 #[derive(Clone, Copy, Debug, Eq, PartialEq)]
 pub enum PackageType {
 pub enum PackageType {
-  /// The macOS bundle (.app).
-  OsxBundle,
+  /// The macOS application bundle (.app).
+  MacOSBundle,
   /// The iOS app bundle.
   /// The iOS app bundle.
   IosBundle,
   IosBundle,
   /// The Windows bundle (.msi).
   /// The Windows bundle (.msi).
@@ -30,7 +30,7 @@ pub enum PackageType {
 
 
 impl PackageType {
 impl PackageType {
   /// Maps a short name to a PackageType.
   /// Maps a short name to a PackageType.
-  /// Possible values are "deb", "ios", "msi", "osx", "rpm", "appimage", "dmg".
+  /// Possible values are "deb", "ios", "msi", "app", "rpm", "appimage", "dmg".
   pub fn from_short_name(name: &str) -> Option<PackageType> {
   pub fn from_short_name(name: &str) -> Option<PackageType> {
     // Other types we may eventually want to support: apk.
     // Other types we may eventually want to support: apk.
     match name {
     match name {
@@ -38,7 +38,7 @@ impl PackageType {
       "ios" => Some(PackageType::IosBundle),
       "ios" => Some(PackageType::IosBundle),
       #[cfg(target_os = "windows")]
       #[cfg(target_os = "windows")]
       "msi" => Some(PackageType::WindowsMsi),
       "msi" => Some(PackageType::WindowsMsi),
-      "osx" => Some(PackageType::OsxBundle),
+      "app" => Some(PackageType::MacOSBundle),
       "rpm" => Some(PackageType::Rpm),
       "rpm" => Some(PackageType::Rpm),
       "appimage" => Some(PackageType::AppImage),
       "appimage" => Some(PackageType::AppImage),
       "dmg" => Some(PackageType::Dmg),
       "dmg" => Some(PackageType::Dmg),
@@ -54,7 +54,7 @@ impl PackageType {
       PackageType::IosBundle => "ios",
       PackageType::IosBundle => "ios",
       #[cfg(target_os = "windows")]
       #[cfg(target_os = "windows")]
       PackageType::WindowsMsi => "msi",
       PackageType::WindowsMsi => "msi",
-      PackageType::OsxBundle => "osx",
+      PackageType::MacOSBundle => "app",
       PackageType::Rpm => "rpm",
       PackageType::Rpm => "rpm",
       PackageType::AppImage => "appimage",
       PackageType::AppImage => "appimage",
       PackageType::Dmg => "dmg",
       PackageType::Dmg => "dmg",
@@ -72,7 +72,7 @@ const ALL_PACKAGE_TYPES: &[PackageType] = &[
   PackageType::IosBundle,
   PackageType::IosBundle,
   #[cfg(target_os = "windows")]
   #[cfg(target_os = "windows")]
   PackageType::WindowsMsi,
   PackageType::WindowsMsi,
-  PackageType::OsxBundle,
+  PackageType::MacOSBundle,
   PackageType::Rpm,
   PackageType::Rpm,
   PackageType::Dmg,
   PackageType::Dmg,
   PackageType::AppImage,
   PackageType::AppImage,
@@ -95,39 +95,24 @@ pub struct PackageSettings {
   pub default_run: Option<String>,
   pub default_run: Option<String>,
 }
 }
 
 
-/// The bundle settings of the BuildArtifact we're bundling.
+/// The Linux debian bundle settings.
 #[derive(Clone, Debug, Deserialize, Default)]
 #[derive(Clone, Debug, Deserialize, Default)]
-pub struct BundleSettings {
-  /// the app's identifier.
-  pub identifier: Option<String>,
-  /// the app's icon list.
-  pub icon: Option<Vec<String>>,
-  /// the app's resources to bundle.
-  ///
-  /// each item can be a path to a file or a path to a folder.
-  ///
-  /// supports glob patterns.
-  pub resources: Option<Vec<String>>,
-  /// the app's copyright.
-  pub copyright: Option<String>,
-  /// the app's category.
-  pub category: Option<AppCategory>,
-  /// the app's short description.
-  pub short_description: Option<String>,
-  /// the app's long description.
-  pub long_description: Option<String>,
-  /// the app's script to run when unpackaging the bundle.
-  pub script: Option<PathBuf>,
+pub struct DebianSettings {
   // OS-specific settings:
   // OS-specific settings:
   /// the list of debian dependencies.
   /// the list of debian dependencies.
-  pub deb_depends: Option<Vec<String>>,
+  pub depends: Option<Vec<String>>,
   /// whether we should use the bootstrap script on debian or not.
   /// whether we should use the bootstrap script on debian or not.
   ///
   ///
   /// this script goal is to allow your app to access environment variables e.g $PATH.
   /// this script goal is to allow your app to access environment variables e.g $PATH.
   ///
   ///
   /// without it, you can't run some applications installed by the user.
   /// without it, you can't run some applications installed by the user.
-  pub deb_use_bootstrapper: Option<bool>,
-  /// Mac OS X frameworks that need to be bundled with the app.
+  pub use_bootstrapper: Option<bool>,
+}
+
+/// The macOS bundle settings.
+#[derive(Clone, Debug, Deserialize, Default)]
+pub struct MacOSSettings {
+  /// MacOS frameworks that need to be bundled with the app.
   ///
   ///
   /// Each string can either be the name of a framework (without the `.framework` extension, e.g. `"SDL2"`),
   /// Each string can either be the name of a framework (without the `.framework` extension, e.g. `"SDL2"`),
   /// in which case we will search for that framework in the standard install locations (`~/Library/Frameworks/`, `/Library/Frameworks/`, and `/Network/Library/Frameworks/`),
   /// in which case we will search for that framework in the standard install locations (`~/Library/Frameworks/`, `/Library/Frameworks/`, and `/Network/Library/Frameworks/`),
@@ -137,24 +122,49 @@ pub struct BundleSettings {
   /// - arranging for the compiled binary to link against those frameworks (e.g. by emitting lines like `cargo:rustc-link-lib=framework=SDL2` from your `build.rs` script)
   /// - arranging for the compiled binary to link against those frameworks (e.g. by emitting lines like `cargo:rustc-link-lib=framework=SDL2` from your `build.rs` script)
   ///
   ///
   /// - embedding the correct rpath in your binary (e.g. by running `install_name_tool -add_rpath "@executable_path/../Frameworks" path/to/binary` after compiling)
   /// - embedding the correct rpath in your binary (e.g. by running `install_name_tool -add_rpath "@executable_path/../Frameworks" path/to/binary` after compiling)
-  pub osx_frameworks: Option<Vec<String>>,
-  /// A version string indicating the minimum Mac OS X version that the bundled app supports (e.g. `"10.11"`).
+  pub frameworks: Option<Vec<String>>,
+  /// A version string indicating the minimum MacOS version that the bundled app supports (e.g. `"10.11"`).
   /// If you are using this config field, you may also want have your `build.rs` script emit `cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.11`.
   /// If you are using this config field, you may also want have your `build.rs` script emit `cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.11`.
-  pub osx_minimum_system_version: Option<String>,
+  pub minimum_system_version: Option<String>,
   /// The path to the LICENSE file for macOS apps.
   /// The path to the LICENSE file for macOS apps.
   /// Currently only used by the dmg bundle.
   /// Currently only used by the dmg bundle.
-  pub osx_license: Option<String>,
+  pub license: Option<String>,
   /// whether we should use the bootstrap script on macOS .app or not.
   /// whether we should use the bootstrap script on macOS .app or not.
   ///
   ///
   /// this script goal is to allow your app to access environment variables e.g $PATH.
   /// this script goal is to allow your app to access environment variables e.g $PATH.
   ///
   ///
   /// without it, you can't run some applications installed by the user.
   /// without it, you can't run some applications installed by the user.
-  pub osx_use_bootstrapper: Option<bool>,
-  // Bundles for other binaries/examples:
+  pub use_bootstrapper: Option<bool>,
+  /// The exception domain to use on the macOS .app bundle.
+  ///
+  /// This allows communication to the outside world e.g. a web server you're shipping.
+  pub exception_domain: Option<String>,
+}
+
+/// The bundle settings of the BuildArtifact we're bundling.
+#[derive(Clone, Debug, Deserialize, Default)]
+pub struct BundleSettings {
+  /// the app's identifier.
+  pub identifier: Option<String>,
+  /// the app's icon list.
+  pub icon: Option<Vec<String>>,
+  /// the app's resources to bundle.
+  ///
+  /// each item can be a path to a file or a path to a folder.
+  ///
+  /// supports glob patterns.
+  pub resources: Option<Vec<String>>,
+  /// the app's copyright.
+  pub copyright: Option<String>,
+  /// the app's category.
+  pub category: Option<AppCategory>,
+  /// the app's short description.
+  pub short_description: Option<String>,
+  /// the app's long description.
+  pub long_description: Option<String>,
+  // Bundles for other binaries:
   /// Configuration map for the possible [bin] apps to bundle.
   /// Configuration map for the possible [bin] apps to bundle.
   pub bin: Option<HashMap<String, BundleSettings>>,
   pub bin: Option<HashMap<String, BundleSettings>>,
-  /// Configuration map for the possible example apps to bundle.
-  pub example: Option<HashMap<String, BundleSettings>>,
   /// External binaries to add to the bundle.
   /// External binaries to add to the bundle.
   ///
   ///
   /// Note that each binary name will have the target platform's target triple appended,
   /// Note that each binary name will have the target platform's target triple appended,
@@ -164,10 +174,10 @@ pub struct BundleSettings {
   ///
   ///
   /// The possible target triples can be seen by running `$ rustup target list`.
   /// The possible target triples can be seen by running `$ rustup target list`.
   pub external_bin: Option<Vec<String>>,
   pub external_bin: Option<Vec<String>>,
-  /// The exception domain to use on the macOS .app bundle.
-  ///
-  /// This allows communication to the outside world e.g. a web server you're shipping.
-  pub exception_domain: Option<String>,
+  /// Debian-specific settings.
+  pub deb: DebianSettings,
+  /// MacOS-specific settings.
+  pub macos: MacOSSettings,
 }
 }
 
 
 #[derive(Clone, Debug)]
 #[derive(Clone, Debug)]
@@ -349,7 +359,7 @@ impl Settings {
   pub fn package_types(&self) -> crate::Result<Vec<PackageType>> {
   pub fn package_types(&self) -> crate::Result<Vec<PackageType>> {
     let target_os = std::env::consts::OS;
     let target_os = std::env::consts::OS;
     let platform_types = match target_os {
     let platform_types = match target_os {
-      "macos" => vec![PackageType::OsxBundle, PackageType::Dmg],
+      "macos" => vec![PackageType::MacOSBundle, PackageType::Dmg],
       "ios" => vec![PackageType::IosBundle],
       "ios" => vec![PackageType::IosBundle],
       "linux" => vec![PackageType::Deb, PackageType::AppImage],
       "linux" => vec![PackageType::Deb, PackageType::AppImage],
       #[cfg(target_os = "windows")]
       #[cfg(target_os = "windows")]
@@ -420,11 +430,6 @@ impl Settings {
     }
     }
   }
   }
 
 
-  /// Returns the OSX exception domain.
-  pub fn exception_domain(&self) -> Option<&String> {
-    self.bundle_settings.exception_domain.as_ref()
-  }
-
   /// Copies external binaries to a path.
   /// Copies external binaries to a path.
   pub fn copy_binaries(&self, path: &Path) -> crate::Result<()> {
   pub fn copy_binaries(&self, path: &Path) -> crate::Result<()> {
     for src in self.external_binaries() {
     for src in self.external_binaries() {
@@ -501,40 +506,14 @@ impl Settings {
     self.bundle_settings.long_description.as_deref()
     self.bundle_settings.long_description.as_deref()
   }
   }
 
 
-  /// Returns the dependencies of the debian bundle.
-  pub fn debian_dependencies(&self) -> &[String] {
-    match self.bundle_settings.deb_depends {
-      Some(ref dependencies) => dependencies.as_slice(),
-      None => &[],
-    }
-  }
-
-  /// Returns whether the debian bundle should use the bootstrap script or not.
-  pub fn debian_use_bootstrapper(&self) -> bool {
-    self.bundle_settings.deb_use_bootstrapper.unwrap_or(false)
-  }
-
-  /// Returns the frameworks to bundle with the macOS .app
-  pub fn osx_frameworks(&self) -> &[String] {
-    match self.bundle_settings.osx_frameworks {
-      Some(ref frameworks) => frameworks.as_slice(),
-      None => &[],
-    }
-  }
-
-  /// Returns the minimum system version of the macOS bundle.
-  pub fn osx_minimum_system_version(&self) -> Option<&str> {
-    self.bundle_settings.osx_minimum_system_version.as_deref()
-  }
-
-  /// Returns the path to the DMG bundle license.
-  pub fn osx_license(&self) -> Option<&str> {
-    self.bundle_settings.osx_license.as_deref()
+  /// Returns the debian settings.
+  pub fn deb(&self) -> &DebianSettings {
+    &self.bundle_settings.deb
   }
   }
 
 
-  /// Returns whether the macOS .app bundle should use the bootstrap script or not.
-  pub fn osx_use_bootstrapper(&self) -> bool {
-    self.bundle_settings.osx_use_bootstrapper.unwrap_or(false)
+  /// Returns the MacOS settings.
+  pub fn macos(&self) -> &MacOSSettings {
+    &self.bundle_settings.macos
   }
   }
 }
 }
 
 

+ 1 - 1
cli/tauri.js/test/jest/__tests__/template.spec.js

@@ -30,7 +30,7 @@ describe('[CLI] tauri.js template', () => {
       config: {
       config: {
         tauri: {
         tauri: {
           bundle: {
           bundle: {
-            targets: ['deb', 'osx', 'msi', 'appimage'] // we can't bundle dmg on CI so we remove it here
+            targets: ['deb', 'app', 'msi', 'appimage'] // we can't bundle dmg on CI so we remove it here
           }
           }
         }
         }
       }
       }

File diff suppressed because it is too large
+ 0 - 0
examples/api/public/build/bundle.js


File diff suppressed because it is too large
+ 0 - 0
examples/api/public/build/bundle.js.map


+ 1 - 1
examples/helloworld/src-tauri/tauri.conf.json

@@ -27,7 +27,7 @@
         "depends": [],
         "depends": [],
         "useBootstrapper": false
         "useBootstrapper": false
       },
       },
-      "osx": {
+      "macOS": {
         "frameworks": [],
         "frameworks": [],
         "minimumSystemVersion": "",
         "minimumSystemVersion": "",
         "useBootstrapper": false,
         "useBootstrapper": false,

Some files were not shown because too many files changed in this diff