Hi, this days I stop my CI work due to some things. I was doing at the same time needed work for a client in implementing Jewel DataGrid and ButtonBar. I'm progressing in those components and hope to contribute soon as they are ok in API terms and looking good.
Btw, Chris Dutz was helping me on CI but he was thinking that most of our complexity could gone if we have just one repo with submodules. He's working on that doing some refactoring that hopefully can be contributed soon. In doing that we'll get building with just one "mvn install", while we can continue building each submodule as we do now. That will mean to request an "apache-royale" repository. Beign said that the technical tasks are: - Split up the royale-maven-plugin into 3 modules: - the maven plugin (released separately together with the api/model), - a plugin api/model and - a compiler implementation (released with the project) - Add a “provided” dependency to the compiler implementation to every js/swf module (will to that by adding a global dependency in the root) - Add the 4th git repo which includes the 3 parts as submodules and also contains a pom.xml which adds the 3 modules to the reactor The maven plugin is a super basic plugin, that does nothing else than look for an implementation of a compiler on the classpath and to relay to that. Therefore it should be possible to release this once and not for every release. With this generally all modules can be built in one execution of “mvn install” or "mvnw install" (if user does not have maven already installed) in the new root pom level. The general trick is that the maven plugin doesn’t have a fixed dependency on the compiler, it loads the compiler implementation at runtime from the project’s dependencies. This dependency was what was preventing us from building (and especially releasing) all 3 together: - Maven builds a reactor first for that it resolves the plugins and their dependency - As the plugin currently is part of the build of the typedefs and the framework when doing a release this plugin does not yet exist and the build will fail. - With this change the plugin and all of its dependencies (none) are resolvable and we’re able to build and release. The only reason we will not be able to release the triple-project is that the release prepare goal can’t handle these sub-modules. However if all modules were really merged into one … that would absolutely be possible. Chris also noticed that the Ant compiler configs changed quite a bit and am currently cleaning up in the different compiler mojos. For every type of compilation we’ll have 2 config templates: a js version and a swf version. So I want first to share this work here to start giving exposure (Chris hopefully will have it in the next few days, while I end with Jewel components). I think it will be another good improvement to continue simplification if nobody objects nothing to it. That will mean that CI will benefit from that simplification as well the release process, so better for me to save that work hours for this new enhancement, instead of doing that work now and rework again in few days. Let me know what you think all about it Thanks! -- Carlos Rovira http://about.me/carlosrovira