The basic idea is to let anyone to build any project (including platform) by invoking a very simple command:
mvn clean installNo need to look for any dependencies. No need to check for any version. Just checkout the source and run this command.
Beautiful idea, but easier said than done.
The biggest obstacle is that some Eclipse projects were created a long time before Maven was, and customized their builds to the every possible limit. Some of them rely on the manual builds invocation, and store pre-compiled code in the repo (not only the native one, but also precompiled classes, which, as you already know from this blog, is a big problem for Fedora packagers).
So it is time to choose: should we preserve the pdebuild compatibility, which means that:
- CBI is monolithic. You build entire platform or nothing.
- CBI is not usable for building a single project.
- Either maven-ant-run plugin is used to bridge PDEBuild and Maven, or the build has to be maintained in two places.
- Some work for projects that use customBuildCallbacks.
- Forget about the PDEBuild
- Easy projects builds.