summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-07-29 13:48:01 -0400
committerBrian Potchik <brian@vector35.com>2025-07-29 13:48:01 -0400
commit5244be17ac0b2c600cc95c70ec33bde568986d90 (patch)
tree568e4fcfb9015141b3b149272d200ba0dd634dae /plugins
parentc2a48b1ff770c092a9745eaa28092b89159beb4f (diff)
Add support for declarative downstream dependencies to workflow system.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/efi_resolver/src/Plugin.cpp3
-rw-r--r--plugins/rtti/plugin.cpp7
-rw-r--r--plugins/warp/src/plugin/workflow.rs7
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();