Faktor-IPS projects are built in Eclipse; everything is checked in and the build only compiles the generated Java files. But why? Because the build of Faktor-IPS files needs a complete Eclipse, running “headless” and calling complicated Ant-scripts. That sounds complicated. Still some of our customers use that to build at least their product projects (including a build job creating an eclipse installation on the build server), to have the security of knowing that the checked-in product configuration is valid. We at Faktor Zehn used a similar process to run integration tests against Faktor-IPS.
But in times of Maven and continuous integration, all that sounds incredibly complicated. So we sat down (after more and more customers came together to support this development through the Faktor-IPS community) and looked at how we could simplify this process. We were using Eclipse Tycho for the build of our Faktor-IPS plugins. Tycho creates a bridge between the world of Maven projects and Eclipse plugins.Building on top of Tycho, we created our own Maven plugin which loads only the plugins relevant to building a Faktor-IPS project in a minimal Eclipse runtime.
Using that plugin in your own Faktor-IPS project is simple:
This plugin offers many options like including additional plugins like the product variants, documented here. For example the generated files can be compared against those committed in Git to find changes that were not committed or built locally.
You can even use a simple XML editor to change values in Faktor-IPS source files and run the plugin to get the changed Java code without ever opening eclipse. To make this more comfortable, Faktor-IPS 21.12 (of which you can download the first milestone build at update.faktorzehn.org/faktorips/v21_12) will include XML schema information in all files.
Your Faktor Zehn-Team