On Aug 28, 2006, at 7:49 PM, Jason Dillon wrote:
The pom is part of the release.
On Aug 28, 2006, at 7:46 PM, David Blevins wrote:
The only reason we've had to re-release these is because the poms
of a couple have changed. We can fix that with version ranges.
Meaning, if we add version ranges to our poms when they refer to
other specs, we don't need to re-release them when those other specs
change.
-David
--jason
On Aug 28, 2006, at 7:46 PM, David Blevins wrote:
On Aug 28, 2006, at 5:50 PM, Jason Dillon wrote:
I don't think that using version ranges really helps make
anything easier or simpler.
How is it confusing to have just one version number for all
specs? Anything else seems to induce much more confusion, for us
and them.
If the confusion is... "why is there a new version for a jar that
did not change" I point you back at my example of Geronimo and
releasing bug fix versions... where say 80% of the modules will
have a new version but no changes. Does this also confuse
users? If so, then we need to educate our users and not try to
dance around their ignorance and complicate our build release
management.
I've intentionally not made any statements of what is "easy" and
you're countering arguments I've never made.
The following specs haven't changed in a 1-2 years and don't need
to be released:
geronimo-ejb_2.1_spec
geronimo-j2ee-connector_1.5_spec
geronimo-j2ee-deployment_1.1_spec
geronimo-j2ee-jacc_1.0_spec
geronimo-j2ee-management_1.0_spec
geronimo-jaxr_1.0_spec
geronimo-jaxrpc_1.1_spec
geronimo-jms_1.1_spec
geronimo-jsp_2.0_spec
geronimo-jta_1.0.1B_spec
geronimo-qname_1.1_spec
geronimo-saaj_1.1_spec
geronimo-servlet_2.4_spec
The only reason we've had to re-release these is because the poms
of a couple have changed. We can fix that with version ranges.
-David
--jason
On Aug 28, 2006, at 10:51 AM, Dain Sundstrom wrote:
I am starting to get dizzy from this discussion...
I remember the original argument for switching to individually
versioned specifications was to avoid republishing specs like
javax.ejb repeatedly as it confused users to have new version
numbers that don't change. The counter argument is that having
lots of different version numbers is difficult for users as they
will have to know the version of every jar.
I think both concerns are important, but for maven users I don't
think either matters since you can simply use a version range
dependency like this:
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
<version>[1.0,)</version>
</dependency>
This gives you the most resent published version of the
connector 1.5 spec (BTW I tried this out in the jencks project
and it worked perfectly). Either solution for a maven user
shouldn't be a problem.
So I think that leaves us with the question what is going to be
easiest and quickest layout for us to release when we find a
spec bug?
-dain
On Aug 27, 2006, at 4:50 PM, Jason Dillon wrote:
I've implemented #5, which was to restructure to use the same
directory and artifactIds... I renamed the directories to match.
I think we need to have another round of discussion on how to
handle
the versioning.
I'm starting to lean heavily towards having *one* version for
*all* of
the specs. I don't care too much that if spec A makes a change
that
we release new versions of all of the other specs. It is actually
similar to the server, when a bugfix release is made, a bunch of
modules will have no change since the last version, but we release
them anyways because it is simpler for use to manage, and
easier for
users too, since they just need to know one version number...
not the
version number of each module.
IMO, less version numbers to manage is easier... and better.
The side
effect is that more artifacts get released when we cut a new
version.
But I don't see that we are going to be making tons of these spec
releases... so I don't see any harm in the additional artifacts.
So, my recommendation is to use one version for all of them. I
believe this will be best in the short to medium term at least,
and if
we find that it not working for the long run, then we can revisit
later. But right now I'd like to get a consistent release of
these
artifacts so we can remove the need for the bootstrap step to
check
them out and build them.
I'd like to discus for a few days, create a new proposal, vote and
then implement in the near future.
Comments?
--jason
On 8/18/06, Jason Dillon <[EMAIL PROTECTED]> wrote:
PROPOSAL:
1. Each spec will no longer be split up into trunk+branches
+tags.
There will instead be one trunk+branches+tags for all specs
laid out
as follows:
specs/trunk/pom.xml
specs/trunk/<artifactId>
specs/tags/<artifactId>-<version>
specs/branches/
2. Each plugin will continue to have its own version and will be
released independently.
3. The top-level will have it's own version, which will remain
independent. When there is a major configuration change in
that pom,
the version will be changed and the pom will be republished.
4. Releasing will be done with the maven release plugin ('mvn
release') and should occur at a stable point after any major
change
to a spec module.
5. Change all module directories to match artifactIds.
MOTIVATION:
1. one trunk allows the entire set of specs to be checked out
all at
once and built all at once.
* * *
[ ] +1 Allow changes
[ ] 0 No opinion
[ ] -1 No, leave the specs asis (provide rationale)
--jason