diff options
| author | Brian Potchik <brian@vector35.com> | 2025-07-29 13:48:01 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2025-07-29 13:48:01 -0400 |
| commit | 5244be17ac0b2c600cc95c70ec33bde568986d90 (patch) | |
| tree | 568e4fcfb9015141b3b149272d200ba0dd634dae /plugins | |
| parent | c2a48b1ff770c092a9745eaa28092b89159beb4f (diff) | |
Add support for declarative downstream dependencies to workflow system.
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/efi_resolver/src/Plugin.cpp | 3 | ||||
| -rw-r--r-- | plugins/rtti/plugin.cpp | 7 | ||||
| -rw-r--r-- | plugins/warp/src/plugin/workflow.rs | 7 |
3 files changed, 13 insertions, 4 deletions
diff --git a/plugins/efi_resolver/src/Plugin.cpp b/plugins/efi_resolver/src/Plugin.cpp index 9d5a69ce..e26ec171 100644 --- a/plugins/efi_resolver/src/Plugin.cpp +++ b/plugins/efi_resolver/src/Plugin.cpp @@ -70,6 +70,9 @@ extern "C" "eligibility": { "runOnce": true, "auto": {} + }, + "dependencies": { + "downstream": ["core.module.update"] } })~", &RunWorkflow); diff --git a/plugins/rtti/plugin.cpp b/plugins/rtti/plugin.cpp index 0fbfbce2..d94be592 100644 --- a/plugins/rtti/plugin.cpp +++ b/plugins/rtti/plugin.cpp @@ -115,13 +115,16 @@ extern "C" { "eligibility": { "runOnce": true, "auto": {} + }, + "dependencies": { + "downstream": ["core.module.update"] } - })~", &VFTAnalysis, {"core.module.update"}); + })~", &VFTAnalysis); // Run rtti before debug info is applied. rttiMetaWorkflow->Insert("core.module.loadDebugInfo", "analysis.rtti.rttiAnalysis"); // Run vft after functions have analyzed (so that the virtual functions have analyzed) - rttiMetaWorkflow->Insert("core.module.deleteUnusedAutoFunctions", "analysis.rtti.vftAnalysis"); + rttiMetaWorkflow->InsertAfter("core.module.extendedAnalysis", "analysis.rtti.vftAnalysis"); Workflow::RegisterWorkflow(rttiMetaWorkflow); return true; diff --git a/plugins/warp/src/plugin/workflow.rs b/plugins/warp/src/plugin/workflow.rs index 56823de4..6a30606e 100644 --- a/plugins/warp/src/plugin/workflow.rs +++ b/plugins/warp/src/plugin/workflow.rs @@ -40,6 +40,9 @@ const MATCHER_ACTIVITY_CONFIG: &str = r#"{ "eligibility": { "auto": {}, "runOnce": true + }, + "dependencies": { + "downstream": ["core.module.update"] } }"#; @@ -288,10 +291,10 @@ pub fn insert_workflow() { let matcher_activity = Activity::new_with_action(MATCHER_ACTIVITY_CONFIG, matcher_activity); // Matcher activity must have core.module.update as subactivity otherwise analysis will sometimes never retrigger. module_meta_workflow - .register_activity_with_subactivities(&matcher_activity, vec!["core.module.update"]) + .register_activity(&matcher_activity) .unwrap(); module_meta_workflow.insert( - "core.module.deleteUnusedAutoFunctions", + "core.module.finishUpdate", [MATCHER_ACTIVITY_NAME], ); module_meta_workflow.register().unwrap(); |
