io.cucumber.plugin.Plugin Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cucumber-plugin Show documentation
Show all versions of cucumber-plugin Show documentation
Plugin interface for Cucumber-JVM
package io.cucumber.plugin;
import org.apiguardian.api.API;
import java.io.File;
import java.net.URI;
import java.net.URL;
/**
* Marker interface for all plugins.
*
* A plugin can be added to the runtime to listen in on step definition, summary
* printing and test execution.
*
* Plugins are added to the runtime from the command line or by annotating a
* runner class with {@code @CucumberOptions} and may be provided with a
* parameter using this syntax {@code com.example.MyPlugin:path/to/output.json}.
* To accept this parameter the plugin must have a public constructor that
* accepts one of the following arguments:
*
* - {@link String}
* - {@link Appendable}
* - {@link URI}
* - {@link URL}
* - {@link File}
*
*
* To make the parameter optional the plugin must also have a public default
* constructor.
*
* Plugins may also implement one of these interfaces:
*
* - {@link ColorAware}
* - {@link StrictAware}
* - {@link EventListener}
* - {@link ConcurrentEventListener}
*
*/
@API(status = API.Status.STABLE)
public interface Plugin {
}