|
@@ -101,8 +101,17 @@ impl<'a> Builder<'a> {
|
|
|
println!("cargo:rerun-if-changed=permissions");
|
|
|
let permissions = acl::build::define_permissions("./permissions/**/*.*", &name, &out_dir)?;
|
|
|
|
|
|
- acl::build::generate_schema(&permissions, "./permissions")?;
|
|
|
- acl::build::generate_docs(&permissions, &autogenerated)?;
|
|
|
+ if permissions.is_empty() {
|
|
|
+ let _ = std::fs::remove_file(format!(
|
|
|
+ "./permissions/{}/{}",
|
|
|
+ acl::build::PERMISSION_SCHEMAS_FOLDER_NAME,
|
|
|
+ acl::build::PERMISSION_SCHEMA_FILE_NAME
|
|
|
+ ));
|
|
|
+ let _ = std::fs::remove_file(autogenerated.join(acl::build::PERMISSION_DOCS_FILE_NAME));
|
|
|
+ } else {
|
|
|
+ acl::build::generate_schema(&permissions, "./permissions")?;
|
|
|
+ acl::build::generate_docs(&permissions, &autogenerated)?;
|
|
|
+ }
|
|
|
|
|
|
if let Some(global_scope_schema) = self.global_scope_schema {
|
|
|
acl::build::define_global_scope_schema(global_scope_schema, &name, &out_dir)?;
|