Notes about Tycho on JBoss Tools

Version 6

    History

    Devox 2009 - Max made first weird attempt at creating a scala script to generate pom, but bugs in Tycho and cyclic dependencies made it impossible to do "the easy way"

     

    EclipseCon 2010 - Tycho 0.8 came out and we had a hack-a-thon to try break our monolith build.

     

    Status

    https://svn.jboss.org/repos/jbosstools/branches/modular_build contains the current work.

     

    Has a parent-pom.xml for setting up Tycho and repositories.

     

    Has scala script genpom.scala which currently automagically generates the proper pom.xml's based on our standard jboss tools plugin layot. Eventually these should be materialized and committed but for now it allows for rapid prototyping until we got it all working.

     

    The build requires maven 3.

     

    After doing scala genpom.xml you should (in theory) be able to run mvn install in any level. Right now only plugins/features works consistently

    Tidbits

    Tycho uses surefire which picks up unittests which has "Test" somewhere in the name. Causing problems since we got Tests that aren't tests and AllTests which includes subtests.

     

    What Maven group id should we be using ? Right now org.jboss.tools.* is the base.

     

    How do we ensure the version in manifest.mf etc. are in sync with reality ? Some way for us to compare against latest JBDS/JBT 3 to ensure at least in sync ?

     

    vpe.feature seem to be dead - had to remove xulrunner.vpe features. Seem all is in richfaces feature as opposed to be split up.

     

    richfaces included hibernate xml editing features causing cyclic dependency between hibernate and vpe. For now hibernate drags in the xml editing; should probably be separated out in separate hibernate feature.

     

    Right now we seem to run against the set of dependencies we explicitly have in our tests - which is great; but need to find a way to run all the tests against what will actually become the full IDE.

     

    After fixing all dependency issues so Tycho would build (it seem to be more picky about ranges than PDE but we had stale version numbers in manifest headers and dependencies so it could just as well be our "fault") the memory usage goes through the roof for the uber-build. Doing mvn clean install for all failed even with 1024M. I believe that is caused by some bug in Tycho trying to keep fetching dependencies. Running with mvn -o (offline) seems to work fine after running it individually for sub modules to fetch their dependencies.