package org.bndtools.build.api; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IPath; import org.osgi.annotation.versioning.ProviderType; /** * A listener for phases in the Bndtools build lifecycle. * * @author Neil Bartlett <njbartlett@gmail.com> */ @ProviderType public interface BuildListener { enum BuildState { starting, built, released; } /** * Bndtools is starting to build the specified project. The corresponding bnd project model in the bnd workspace has * yet been created, and may not exist. * * @param project */ void buildStarting(IProject project); /** * Bndtools has built one or more bundles in the specified project. * * @param project * The Eclipse project for which the built has been executed. * @param paths * An array of workspace-relative paths. */ void builtBundles(IProject project, IPath[] paths); /** * Listeners are released */ void released(IProject project); }