>Why does eclipse require eclipse to build eclipse?
I’ve never gotten a really satisfactory answer to this. It seems counter productive to me for projects to depend on eclipse to build eclipse plugins. What if you need to rebuild an entire platform from scratch, including all jni related code? I understand that there are property files and classpath files that need to be set, but is eclipse really required to build eclipse?
There are two types of builds I see:
1. Complete System rebuilds – these may include incremental builds and clean builds of all related plugin projects.
2. Packaging Builds – which take the pre-complied packages already generated and combine them into one standard package.
In my opinion neither one of these methods should require an existing working eclipse platform to build eclipse itself. It’s extra memory and over head. Two open source projects that help eleviate this need are:
- Ant 4 Eclipse is a project that allows the ability to read the various eclipse configuration files to help build eclipse projects without requiring eclipse to run headless.
- Custom Eclipse Builder allows you to specify a build of existing packages to create a custom package or distribution of eclipse with your specific plugins.
There are other packaging projects available like EasyEclipse and the Eclipse Packaging Project. However, I haven’t tried either of these for a headless build system. Maybe during e4, the entire build process needs to be revisited?
Continuous Integration Systems:
Continuous integration or build systems are something I can’t live with out combined with Unit Tests and User Acceptance Tests (something that eclipse is lacking as unit tests and user acceptance tests aren’t the same thing) are a powerful combination. I’m going to give some kudos to one build system that doesn’t get much press but it deserves more mention. It’s the open source version of Luntbuild. I personally find the Web User Interface and usability much better with Luntbuild than I do with Cruise Control or Ant Hill.
Ultimately continuous integration systems come down to the personal preference of those that are using them, but Cruise Control didn’t really make me go wow. Luntbuild did.