public interface BuildSystemListener
extends java.util.EventListener
BuildSystemListener instances are objects created by BuildSystem clients and used by the BuildSystem as a callback mechanism to allow clients to integrate pre-build & post-build operations.
A BuildSystemListener can be registered declaratively in the trigger hook section or regular hook section of an extension.xml file using syntax such as:
<ide-buildsystem-hook xmlns="http://xmlns.oracle.com/ide/extension"> <buildsystem-listener rule="project-has-your-techscope" class-name="oracle_jdevimpl_MyBuildSystemListener" headless="false" /> </ide-buildsystem-hook>
Alternatively, a BuildSystemListener can be registered programmatically using Compiler.getCompiler().addBuildSystemListener() and removed using Compiler.getCompiler().removeBuildSystemListener().
Each listener is called in order of registration handled.
Warning: all methods of this interface will be invoked from a NON-Swing UI thread. Any Swing code perfomed by one of those callbacks will have to be performed using a SwingUtilities.{InvokeAndWait,InvokeLater}() system call.
See oracle.ide.compiler.BuildSystemListener2 which adds more functionality!
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ELEMENTS_TO_BUILD_PROPERTY
Property in the build context that is guaranteed to be set during the buildWillStart and buildFinished callbacks.
|
static java.lang.String |
ELEMENTS_TO_CLEAN_PROPERTY
Property in the build context that is guaranteed to be set during the cleanWillStart and cleanFinished callbacks.
|
Modifier and Type | Method and Description |
---|---|
void |
buildFinished(int errorCount, int warningCount, int infoCount)
This method is called right after the build is complete and just before returning to the caller.
|
void |
buildWillStart(Context context)
This method is called just before actually starting a build for the following context, context may be one or more workspace(s), one or more project(s), or one or more files within a project.
|
void |
cleanFinished(Context context)
This method is called just before actually finishing a clean for the following context, context may be one or more workspace(s), one or more project(s), or one or more files within a project.
|
void |
cleanWillStart(Context context)
This method is called just before actually starting a clean for the following context, context may be one or more workspace(s), one or more project(s), or one or more files within a project.
|
static final java.lang.String ELEMENTS_TO_CLEAN_PROPERTY
static final java.lang.String ELEMENTS_TO_BUILD_PROPERTY
void buildWillStart(Context context) throws BuildSystemVetoException
context
- -- context to buildBuildSystemVetoException
- if thrown the build will not start, any remaining listeners will not receive their buildWillStart callback, and any listeners that already received the buildWillStart callback before this exception was thrown, will receive a buildFinished callback. The build system will return to the caller with one additional error with the text of the error coming from the BuildSystemVetoException instance.void buildFinished(int errorCount, int warningCount, int infoCount) throws BuildSystemVetoException
errorCount
- -- # of errors for this buildwarningCount
- -- # of warnings for this buildinfoCount
- -- # of informational messages for this buildBuildSystemVetoException
- if thrown the build system will return to the caller with one additional error with the text of the error coming from the BuildSystemVetoException instance. Any remaining listeners will still receive their buidFinished callbacks after this exception is thrownvoid cleanWillStart(Context context) throws BuildSystemVetoException
context
- -- context to cleanBuildSystemVetoException
- if thrown the clean will not start, any remaining listeners will not receive their cleanWillStart callback, and any listeners that already received the cleanWillStart callback before this exception was thrown, will receive a cleanFinished callback. The build system will return to the caller with one additional error with the text of the error coming from the BuildSystemVetoException instance.void cleanFinished(Context context) throws BuildSystemVetoException
context
- -- context that has just been cleanedBuildSystemVetoException
- if thrown the build system will return to the caller with one additional error with the text of the error coming from the BuildSystemVetoException instance. Any remaining listeners will still receive their cleanFinished callbacks after this exception is thrown