Make AssetAction::Ignore not copy assets to imported_assets (#12605)

# Objective

Lets say I have the following `.meta` file:
```RON
(
    meta_format_version: "1.0",
    asset: Ignore,
)
```
When a file is inside the `assets` directory and processing is enabled,
the processor will copy the file into `imported_assets` although it
should be ignored and therefore not copied.

## Solution

- I added a simple check that does not copy the assets if the
AssetAction is `Ignore`.


## Migration Guide

- The public `ProcessResult` enum now has a `ProcessResult::Ignore`
variant that must be handled.
This commit is contained in:
BeastLe9enD 2024-03-21 19:13:18 +01:00 committed by GitHub
parent 69e78bd03e
commit cc3144926b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -722,9 +722,7 @@ impl AssetProcessor {
(meta, Some(processor))
}
AssetActionMinimal::Ignore => {
let meta: Box<dyn AssetMetaDyn> =
Box::new(AssetMeta::<(), ()>::deserialize(&meta_bytes)?);
(meta, None)
return Ok(ProcessResult::Ignored);
}
};
(meta, meta_bytes, processor)
@ -1038,6 +1036,7 @@ impl AssetProcessorData {
pub enum ProcessResult {
Processed(ProcessedInfo),
SkippedNotChanged,
Ignored,
}
/// The final status of processing an asset
@ -1185,6 +1184,9 @@ impl ProcessorAssetInfos {
// "block until first pass finished" mode
info.update_status(ProcessStatus::Processed).await;
}
Ok(ProcessResult::Ignored) => {
debug!("Skipping processing (ignored) \"{:?}\"", asset_path);
}
Err(ProcessError::ExtensionRequired) => {
// Skip assets without extensions
}