1 Reply Latest reply on Mar 22, 2007 11:34 AM by Paul Gier

    javaee versioning

    Carlo de Wolf Master

       

      "Emmanuel" wrote:
      Imagine in a year and a half we want to provide a Java Persistence 2.0 preview. The monolithic javaee.jar will pose problem. That's why I had in mind to keep the subspec in separate jars.

      This is covered by the different sub modules. But one thing I haven't thought of yet is how to keep track of versions in svn?

      The tree is currently:
      javaee/trunk/[module]

      With things coming like:
      javaee/branches/Branch_1_4/[module]
      javaee/branches/Branch_5/[module]

      But actually the versions are different:
      jboss-ejb-api = 3.0
      jboss-jacc-api = 1.1
      jboss-perisistence-api = 1.0 or 3.0 (don't know which one)
      jboss-transaction-api = 1.0.1
      etc.

      I think I saw a different layout in common, but is there a blueprint which covers this scenario?

        • 1. Re: javaee versioning
          Paul Gier Master

          Common might be a little bit different situation. Since there doesn't seem to be a need for aggregate releases of common, the parts are treated like separate projects. So they each have their own trunk/branches/tags. I'm thinking of removing the aggregate build part of common altogether.

          For javaee, if you want to have both individual component releases and aggregate, svn should be fine the way it is now. Subversion doesn't have a problem with tagging sub directories into the tags and branches directories. So you could have:

          tags/
           |--jboss-ejb-api-3.0/
           |--jboss-jacc-api-1.1/
           |--jboss-perisistence-api-1.0/
           \--jboss-javaee-1.0
          

          And you could do the same thing with the branches directory.

          Maven can also handle this pretty easily. If you put the svn URL in the parent project, the subprojects will inherit this, and they will all point to the same place. Then the release plugin can create the tags for you when you do a release.