Skip to content

feat: custom build hooks#61

Merged
StrikeForceZero merged 8 commits intomainfrom
feature/build_hook
Feb 5, 2026
Merged

feat: custom build hooks#61
StrikeForceZero merged 8 commits intomainfrom
feature/build_hook

Conversation

@StrikeForceZero
Copy link
Owner

@StrikeForceZero StrikeForceZero commented Jan 17, 2026

Summary

This gives users the ability to hook the auto plugin build function by implementing AutoPluginBuildHook for their own hooks

Examples:

Unit

#[derive(AutoPlugin)]
#[auto_plugin(impl_plugin_trait)]
struct TestPlugin;

struct MyCustomHookUnit;

impl<T: Component + 'static> AutoPluginBuildHook<T> for MyCustomHookUnit {
    fn on_build(&self, app: &mut App) {
        // access to T for any type-related plumbing e.g. registering types
       app.register_type::<T>();
    }
}


#[derive(Component, Debug)]
#[auto_plugin_build_hook(plugin = TestPlugin, hook = MyCustomHookUnit)]
struct TestComponent;

Instance

#[derive(AutoPlugin)]
#[auto_plugin(impl_plugin_trait)]
struct TestPlugin;

struct MyCustomHookInstance(&'static str);

impl<T: Component + 'static> AutoPluginBuildHook<T> for MyCustomHookInstance {
    fn on_build(&self, app: &mut App) {
        // access to T for any type-related plumbing e.g. registering types
       app.register_type::<T>();
       // or access the hooks instance
       println!("{}", self.0);
    }
}


#[derive(Component, Debug)]
#[auto_plugin_build_hook(plugin = TestPlugin, hook = MyCustomHookInstance("bar"))]
struct TestComponent;

TODO:

  • add documentation

@StrikeForceZero StrikeForceZero modified the milestones: v0.10.0, v0.9.1 Jan 17, 2026
@StrikeForceZero StrikeForceZero changed the title Feat: custom build hooks feat: custom build hooks Jan 26, 2026
@StrikeForceZero StrikeForceZero added the enhancement New feature or request label Jan 26, 2026
@StrikeForceZero StrikeForceZero modified the milestones: v0.9.1, v0.10.0 Jan 26, 2026
@StrikeForceZero StrikeForceZero force-pushed the feature/build_hook branch 3 times, most recently from 9d6e006 to 07330e4 Compare February 5, 2026 20:44
@StrikeForceZero StrikeForceZero merged commit 90ab1d7 into main Feb 5, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant