On Oct 11, 2006, at 4:49 PM, Jeremy Boynes wrote:

We have had quite a few suggestions over the last couple of days for new functionality for the trunk some of which would result in changes to the APIs. We have also had the completion of one of the major pieces of code (async over axis webservices) that was still outstanding although there are still concerns over the amount of test coverage it has. We also have RC distros of both SDO and DAS available.

I am concerned that there is enough pent-up energy in the project that we may soon see more changes that will destabilize what we have right now. In light of that, I would like to suggest that we create a branch where we can finish stabilizing M2 so that we can open the trunk for new development without concern that it will disrupt a release.
I'm assuming this means no API changes or new additions to the branch, save the async work and bug fixes? I agree branching may be the best solution at this point as the release has dragged out. Also, we're going to have some significant refactoring that needs to be done to accommodate spec changes and support things like multi-vm deployment, dynamic service discovery, and stateful conversations that I'd like to get started on soon.

This matches what has already been done for SDO.


The alternative is to initiate a code-freeze until the M2 release is tagged saying that all new work should be done in people's sandboxes. This code-freeze is likely to be in place for a while as we also need to wait for Axis2 1.1 to be released. I believe that would be less acceptable and so unless there is an objection I plan to go down the branch path.

I agree. This would also be a mess to make sure people stay in sync.

Just for the record (and people reading this later), the purpose of this branch is to stabilize a milestone. The intention is not to establish a branch for the purpose of ongoing maintenance and once the release is tagged work on the branch will end. It can always be reopened later if someone wants to restart work on it but that is not the intention at this time.

+1
The SDO code already has a branch in place and we have basically stable versions of the build support artifacts. In light of that, rather than copy the entire source tree I'm going to create branches for each of the source distributions that we intend to produce as follows:

tags/java/pom/parent/1-incubator
tags/java/buildtools/1.0-incubator-M2
tags/java/spec/sca-api/1.0-incubator-r0.95-M2
branches/sdo-java-M2 (already there)
branches/das-java-M2
branches/sca-java-M2

I moved the tags to a "java" subdirectory as I think over the course of time we will be tagging quite a few things and if we put them all in one directory it is going to get confusing.

The pom/parent and buildtools tags will correspond to the current version in the trunk. These are pre-reqs for all the other projects and as such I would like to finalize their release early. I'm going to re-initiate the vote from last week based on the new tags.

Once the parent POM is tagged, SDO and DAS can be updated to use it and eliminate all SNAPSHOT dependencies. If they are ready to go, we can initiate a vote on them either together or separately (my inclination is separately as different people may review them).

I'd be happy not to hold up the SDO and DAS releases. If they are ready then it seems like a good thing not to wait for Java SCA.

SCA is a little more complex as we have outstanding issues related to the distribution layout, what's in each distro (code, samples, doco etc.) and so forth. As such I do not intend to just copy the entire SCA tree but instead to build it up as these issues get resolved. This will allow us to move things like the samples around in the trunk without needing to duplicate work that in the branch (so we only do it once).

Once a module is copied to the branch, the version in the trunk will be bumped to 1.0-incubator-SNAPSHOT (removing the M2 designation). This will ensure that there are no conflicts in between things built from the branch and things built from the trunk (as artifacts from both will be placed in your local repo).

The first modules copied to the branch will be those needed to support the standalone and webapp runtimes. This will include the kernel, commands, runtime modules and the webapp plugin.

The second wave of modules copied would be those for extensions that we decide are /IN/ the release. The only reason these are separate from the first ones is that we have not defined yet how they will finally be packaged (just that they will be in a binary form). The ones I believe that are currently in this category are:
* binding.axis2
* binding.rmi
* idl.wsdl
* databinding.sdo
* databinding.axiom

I am not sure on whether javascript, jsonrpc, ruby or spring fall in this category or the next - opinions?

I'd like to release Spring but I'll defer to Andy's opinion on this. One concern I have with it is low test coverage but then that seems to be a more general problem. Perhaps M3 can be in part a hardening release? :-)

A third set of modules will be distributed in source form only. This includes groovy, castor, jaxb, xmlbeans and celtix.

Finally, we need to decide how we will distribute supplemental artifacts such as javadoc, end-user doc and samples. Once we know that, they can be added to the branch in the appropriate places.

For samples, I sent a proposal to the list yesterday which didn't elicit any comments. As release manager, could you take a look at see if it aligns with what your are thinking here (I believe it mostly does). Hopefully others can comment as well or propose an alternative.

Thanks for reading this far.

Hey, I'll event throw in a gratuitous comment: thanks for outlining this in such depth!

Jim

--
Jeremy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to