On Aug 22, 2006, at 12:45 PM, David Blevins wrote:


On Aug 22, 2006, at 6:24 AM, Kevan Miller wrote:


On Aug 22, 2006, at 1:37 AM, David Jencks wrote:


On Aug 21, 2006, at 9:21 PM, David Blevins wrote:


On Aug 21, 2006, at 7:13 PM, Kevan Miller wrote:

As long as we have inter-dependencies between specs (e.g. javamail depends on activation; jaxrpc on saaj, qname, and servlet; and especially geronimo-spec-j2ee depends on everything), I'm not convinced that this really makes things any better...

I agree that your plan is better than the previous plan for multiple trunks, but I'm not convinced that either plan is actually making things simpler...

If I understand your proposal, tags/geronimo-spec-jaxrpc-<jax- rpcversion>/pom.xml will specify the tagged versions of saaj, qname, and servlet upon which it depends? So, haven't we just split apart the specification of these version dependencies from a single pom.xml into multiple poms? Is this really making things simpler?

That'd be right. I'm not sure how complicated that is, though. None of those specs have changed in a year. Can you give an non- hypothetical example of something that does change and causes this problem that isn't the J2EE uber-jar?

Well, the current activation spec is at version 1.1. When that version was bumped from 1.0 (or 1.0.x), you'd have needed to know/ remember to change the poms in the following specs: geronimo-spec- j2ee, geronimo-spec-javamail, geronimo-spec-jaxr, and geronimo- spec-saaj.

A question for you, Jason: If someone wants to build our released specs from source, what's the process?


Maybe I don't understand the proposal, but otherwise IIUC every time we've found a problem in e.g. the jacc spec we'd need to release every spec jar, and update all the versions. I guess we do this with a lot of geronimo jars going e.g. from 1.1 to 1.1.1 but I think having a lot of identical-contents spec jars would be too confusing.

No, I don't think that's what is happening (at least not in theory), but I've never actually "released" specs. So, I may be mistaken...

Current Process for updating jacc

1) Update branches/1_1/pom.xml with new geronimoSpecsVersion and new geronimoSpecsJaccVersion
2) Update jacc spec sources
3) Build all specs
4) Release jacc and uber-jar spec
5) tag branches/1_1 as tags/1.1.x

6) tag branches/1_1/pom.xml
7) release pom.xml

If the version information for any given module is only contained in the parent, we have to release the parent when we release the module.

Current Proposed Process

1) Update branches/1_1/geronimo-j2ee/pom.xml with new uber-jar spec version and new jacc spec version 2) Update branches/1_1/geronimo-jacc/pom.xml with new jacc spec version
3) Update jacc spec sources
4) Build jacc and uber-jar (build seperately or together?).
6) Release jacc
7) tag jacc-<version>
8) Release uber-jar
9) tag uber-jar-<version>

Single-version Proposed Process

1) Update branches/1_1_/pom.xml with new specs version
2) Update jacc spec sources
3) Build all specs
4) Release all specs
5) tag branches/1_1 as tags/1.1.x

I don't see that releasing identical content spec jars are necessarily confusing (as you point out, we essentially do it with every Geronimo release). Less confusing to have only a single version to worry about... What's the latest release 1.1.x geronimo specs? Use that for all of my j2ee 1.4 spec dependencies. Seems simpler than knowing the latest jacc spec is at version x and the latest servlet 2.4 spec is at version y.

Kevan, this question was directed at you.

On Aug 21, 2006, at 10:44 PM, David Blevins wrote:
This just came into mind. Any thoughts on what we'd do for the specs that are javaee 5 only versions (corba, servlet, soon jta and ejb, etc.) and the ones that overlap between j2ee 1.4 and javaee 5 like jms, jca and jacc?

Something like:

specs/branches/1.1 will remain a more or less "pure" 1.4 level of the specs.

specs/branches/1.2 would contain the 1.4 specs and roll-in the Java EE 5 specs as we need and implement them. The geronimo-j2ee_1.4_spec (if we keep it) would contain only 1.4 versions of specs. Java EE 5 specs would stand on their own (e.g. geronimo-ejb_3.0_spec-1.2.0). If we wanted, we could introduce a geronimo-javaee_5_spec (which includes new specs).

specs/branches/2.0 would contain only Java EE 5 specs (and any non-EE specs that we're moving forward/maintaining).

There is of course, duplication of source (just like you have anytime you branch...) and problems might need to be fixed in (and released from) multiple branches).

--kevan

Reply via email to