A plugin that allows for the application of Byte Buddy transformations during a build process. This plugin's transformation is applied to any type matching this plugin's type matcher. Plugin types must be public, non-abstract and must declare a public default constructor to work.
A plugin is always used within the scope of a single plugin engine application and is disposed after closing. It might be used
concurrently and must assure its own thread-safety if run outside of a Plugin.
or when using a parallel
Plugin.
.
For discoverability, plugin class names can be stored in a file named META-INF/net.bytebuddy/build.plugins with the fully qualified class name of the plugin per line.
Modifier and Type | Class and Description |
---|---|
public static interface | Plugin.Engine
A plugin engine allows the application of one or more plugins on class files found at a |
public static interface | Plugin.Factory
A factory for providing a build plugin. |
public abstract static class | Plugin.ForElementMatcher
An abstract base for a |
public static class | Plugin.NoOp
A non-operational plugin that does not instrument any type. |
public static interface | Plugin.WithInitialization
Allows for the generation of types before a plugin is applied. |
public static interface | Plugin.WithPreprocessor
A plugin that applies a preprocessor, i.e. causes a plugin engine's execution to defer all plugin applications until all types were discovered. |
Modifier and Type | Method and Description |
---|---|
public DynamicType. | Returns: The supplied builder with additional transformations registered.The builder to use as a basis for the applied transformation. builder,The type being transformed. typeDescription, ClassFileLocator A class file locator that can locate other types in the scope of the project. classFileLocator)Applies this plugin. |