bndtools.release.api.IReleaseParticipant Maven / Gradle / Ivy
The newest version!
package bndtools.release.api;
import aQute.bnd.osgi.Jar;
/**
* IReleaseParticipant contains methods for extending the release process The
* methods are called in the following order: 1. preUpdateProjectVersions 2.
* preRelease 3. preJarRelease 4. postJarRelease 5. postRelease
*/
public interface IReleaseParticipant {
public enum Scope {
PRE_UPDATE_VERSIONS,
PRE_RELEASE,
PRE_JAR_RELEASE,
POST_JAR_RELEASE,
POST_RELEASE
}
/**
* Gives a possibility to rank the registered IReleaseParticipants, are set
* in plugin.xml
*/
void setRanking(int ranking);
/**
* @return the ranking
*/
int getRanking();
/**
* Called just before the the '*.bnd' and 'packageinfo' files in the project
* are updated. Can be used to override the suggested versions in JarDiff's
*
* @param context
* @return if false, the release is canceled and postRelease is called with
* success = false
*/
boolean preUpdateProjectVersions(ReleaseContext context);
/**
* Called just before the build operation
*
* @param context
* @return if false, the release is canceled and postRelease is called with
* success = false
*/
boolean preRelease(ReleaseContext context);
/**
* Called after successful build and prior release to the specified
* RepsoitoryPlugin
*
* @param context
* @param jar
* @return if false, the release is canceled and postRelease is called with
* success = false
*/
boolean preJarRelease(ReleaseContext context, Jar jar);
/**
* Called after release to the specified RepsoitoryPlugin
*
* @param context
* @param jar
*/
void postJarRelease(ReleaseContext context, Jar jar);
/**
* Always called at the end of the release
*
* @param context
* @param success All Jar's released successfully
*/
void postRelease(ReleaseContext context, boolean success);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy