fix(tauri-plugin): do not write permissions for dependencies

The generated permission schema may be different from the one published
on crates.io. If a plugin is built as a dependency, we do not want to
(or cannot) modify the source directory. Skip writing the file in that
case.
This commit is contained in:
Flakebi 2025-06-17 00:29:43 +02:00
parent 8ee14a8648
commit 7525e6c310
No known key found for this signature in database
GPG Key ID: 38E7ED984D7DCD02

View File

@ -127,7 +127,11 @@ impl<'a> Builder<'a> {
));
let _ = std::fs::remove_file(autogenerated.join(acl::build::PERMISSION_DOCS_FILE_NAME));
} else {
acl::schema::generate_permissions_schema(&permissions, "./permissions")?;
println!("cargo:rerun-if-env-changed=CARGO_PRIMARY_PACKAGE");
if std::env::var("CARGO_PRIMARY_PACKAGE").is_ok() {
// Write permissions to src directory if this is not built as a dependency
acl::schema::generate_permissions_schema(&permissions, "./permissions")?;
}
acl::build::generate_docs(
&permissions,
&autogenerated,