| Summary: | [workspace] Better support for building non-Java projects | ||
|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Matt Chapman <mpchapman> |
| Component: | Build | Assignee: | pde-build-inbox <pde-build-inbox> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | aniefer, email, mkempka |
| Version: | 3.2 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Matt Chapman
See bug 147433 for a suggested enhancement which would allow PDE to ask a project how to build itself from an ant script. Of course, a project may have multiple builders, so PDE would need to query each builder for Ant build commands, and then add them together in the generated build.xml. This unfortunate situation results from historical decisions on making PDE build be completly workspace unaware so that we could bootstrap eclipse with Ant. Of course this is no excuse, just a bit of background. At this time there is no plan to change pde build to be workspace aware. Re: comment #2. Thanks for the info, but I don't fully understand - by "workspace aware" do you mean that a running workspace is required when generating the build file, or when executing it? In order to generate the build.xml files currently various properties must be queried, such as the manifest, in order to generate the classpath. So could the project builder(s) not be queried in a similar way, so that they return something like a subclass of AbstractScriptGenerator, which is then used to generate the build.xml, which can then be run outside of eclipse. PDE Build is not running from a workspace. It is running from the file system. Therefore it can not query the workspace to retrieve the builders associated to a project. However if it was told about these other builders (let's say by the build.properties), then things like you outline could work, however all plug-ins willing to contribute builders would have to be able to run headless and without IResources (I'm sure there are other constraints that I'm forgetting). Currently we are exploring to see if Maven could be of any help and I think its plugin model would have the ability to solve something this problem. Do you think something could be done for this in time for 3.3? It's quite a big issue for AspectJ. How about if a builder added something to build.properties to indicate an alternative AbstractScriptGenerator class to use instead of ModelBuildScriptGenerator? It would then be optional, only required by those builders that operate instead of the Java builder. We don't have plan to address that in a 3.3 timeframe. However we could allocate some cycles to help / review code. Fair enough. It's important enough for us to try working on it ourselves. We'll try to implement the build.properties approach as above, and attach a patch or ask questions as required. *** This bug has been marked as a duplicate of bug 303960 *** |