* remove dbg! in resources test
* use methods from `fs` and `env` qualified
* share `ACL_MANIFESTS_FILE_NAME` and `CAPABILITIES_FILE_NAME` consts across crates
* simplifiy `Manifest::new` code for better readability
* move reading global api scripts logic next to the function that defines it
* [tauri-build] move acl logic from lib.rs to acl.rs
* use const value for schema instead of enum value with a single variant
* remove unnecessary info from permissions hover
* move related functions next to each other & improve readability of others
* use methods from `fs` and `env` qualified
* fix warning, unused return in test
* document some functions
* improve generated schema for better scope schema completion, simplify, reorganize and document the logic
previously if you had `fs` and `http` plugins added in a project
and then try to write an extended permission for `fs:allow-app-meta`
```json
{
"identifier": "fs:allow-app-meta",
"allow": [ <here> ]
}
```
and even though identifier is from `fs` plugin,
the JSON schema suggests `path` and `url`.
Now it will only suggest relevant field which is `path`
* resolve permissions from other plugins, generate `core:default` as a normal set instead of special logic
* move `PERMISSION_SCHEMAS_FOLDER_NAME` to acl module
* use gneric trait because of MSRV
* ensure `gen/schemas` dir is created
* clippy
I noticed the plugin build fails on older Swift (tested on macOS 12) because the default minimum required macOS version (10.10 in my case) is older than `v10_13` which is set by the Tauri iOS package (and also swift-rs).
So the plugins must explicitly define a minimum macOS version too.
* refactor: remove targetSdk as it is being removed in DSL 9.0
* note
* fix: typo
* update: changelog
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
---------
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
* add plugin resolution to gradle settings
This is needed to make Android Studio able to link to the project
* reflect codegen edit in the plugin example
* feat(core): allow defining global API script on plugin build
Adds `tauri_plugin::Builder::global_api_script_path` so plugin authors can define the JavaScript global API bindings (supposed to be injected to `window.__TAURI__`) at compile time, so the string is only part of the binary when withGlobalTauri is true.
Currently this needs to be done manually at runtime (and it's always added to the binary via include_str).
* prefix variable
* use list of scripts instead of combining them
* static str
* header [skip ci]
* slice
* fix(acl): scope resolution should be per window
* Update core/tauri-utils/src/acl/resolved.rs
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
* update snapshots
* lint
---------
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
* refactor(cli): use `tauri/custom-protocol` instead of relying on user having `custom-protocol` in their cargo features
* tauri-build dev cfg
* pass build-feature when building apk
* run beforeBuildCommand before first build for plugins
* clippy
* fix
* mut
* enhance dev/prod checks
* lint [skip ci]
---------
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
* feat(tauri-build): add `config-json` feature flag
This allows disabling rebuilding when `tauri.conf.json` when using another config format
see https://github.com/tauri-apps/tauri/issues/8721
* document feature flag
* Update .changes/tauri-build-config-json.md [skip ci]
* Update core/tauri/src/lib.rs [skip ci]
* disable default features for tauri-build on tauri, plugins
* fmt
---------
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
* feat(acl): generate schema for scope
* allow plugin to define its global scope schema
* refactor to use schemas folder instead of individual files
* change signature
* delete .schema.json files
* refactor(build): change tauri-api dependency path to skip rebuilds
The tauri-api Swift package cannot be injected inside the iOS plugin project because swift-rs reruns when the project folder changes. We will now inject the project in the parent folder instead.
* revert tauri-plugin-log [skip ci]
* feat(core): update swift-rs
* update tauri-plugin-log
* use env var for min iOS version
* test x86_64-apple-ios
* Revert "test x86_64-apple-ios"
This reverts commit 3ae6b79e5f.
* chore: swift min version 5.3 [skip ci]
* fix build [skip ci]
* fix cgrect usage
* test CI
* Revert "test CI"
This reverts commit 76ce0c5992.
* update swift-rs to 1.0.1
* lint
* lint [skip ci]