Community
Participate
Working Groups
I have created a feature project and given it an install handler in the wizard. This creates a Java Project. I have modified the build.properties to create a jar file as part of the build. When I build the feature, however, all I get is the feature.xml. Here's the build.properties file: bin.includes = feature.xml,\ sas.ads.InstallHandler.jar jars.compile.order = sas.ads.InstallHandler.jar source.sas.ads.InstallHandler.jar = Source/Java/ output.sas.ads.InstallHandler.jar = bin/ A jar is not created. I don't see any errors.
pde.build only knows how to build plug-in projects. It does not know how to compile normal Java projects. As far as the build is concerned, features are really just a grouping mechanism specifying which plug-ins to build. By specifying an install handler, the wizard creates a java project which also happens to be a feature. Any binaries will need to exist before hand when pde.build packages up the feature. You could export a jar from the UI and keep it in the feature. Or, you could write some ant that will compile the jar and get it called from pde.build using custom Feature build steps. (http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.pde.doc.user/guide/tasks/pde_custom_callbacks.htm)
Frankly, if it is documented that this is how you add install handlers to a feature and the wizard creates the java projet then the PDE builder should also participate.
pde.build is not aware of the workspace so we can't do anything at this time in a headless build. Sending this to pde.ui for comment.
Andrew, this should be regarded as an enhancement for pde/build to build custom install handlers (or any JARs) listed in features. I expect it to build all source.* entries in the build.properties regardless if it's a plug-in or a feature. The user can have workarounds as you suggest in comment 1, but this is a legitimate pde/build request.
The first problem is that pde.build does not have any information regarding dependencies to generate a classpath with. You could maybe provide jars.extra.classpath, but that doesn't apply very well to dependencies on bundles.
*** This bug has been marked as a duplicate of 83140 ***