Search code examples
eclipseeclipse-pde

Eclipse PDE build does not call customBuildCallbacks.xml


I'm trying to get my PDE build script to invoke my customBuildCallbacks.xml. I've added

# build.properties
customBuildCallbacks=customBuildCallbacks.xml

and copied the customBuildCallbacks.xml file from the PDE build plugin, but it's still not called. The only reference to customBuildCallbacks I get (with -verbose) is a note

[java] Override ignored for property "customBuildCallbacks"

What I'm trying to do is to run FindBugs on the compiled Jars.


Solution

  • Where did you copy it? In Feature and Plug-in custom build steps, it says:

    To use custom targets, a feature or plug-in must define the property customBuildCallbacks in its build.properties file; the value of this property is the location of an xml file, relative to the root of the feature/plug-in, containing the custom targets.
    If the xml file is located elsewhere, use the property customBuildCallbacks.buildpath to set the directory to use.

    May be the "Override ignored" message is for:

    "you have overridden customBuildCallbacks, but I (the PDE) cannot find it"?


    Note: Andrew Niefer mentions in the comments bug 165768, a design error about customBuildCallbacks since eclipse 3.2.1 (and still open to this day).

    2 plugins, both use the same customBuildCallbacks.xml, with in both plugins build.properties:

     customBuildCallbacks=../mydefaultcallbacks/customBuildCallbacks.xml 
    

    Then you have a 3th plugin, that shall use different callbacks, so in this plugins build.properties you write:

     customBuildCallbacks=./customBuildCallbacks.xml 
    

    And then you have a feature, that shall use callbacks as well, but whatever you write in this features build.properties, you will end up with this message:

    [available] DEPRECATED - <available> used to override an existing property.
    [available]   Build file should not reuse the same property name for different values.
    

    Andrew himself commented in 2006:

    It appears that the plugin's build.xml is inheriting the customBuildCallbacks property from the feature.