Will do
On Sep 5, 2007, at 5:13 PM, Steven Harris <[EMAIL PROTECTED]>
wrote:
Alright, I think I understand all the issues now. Lets discuss in
the friday meeting.
I think the solution is:
1) repository
2) We should publish all of the non-snapshot versions of our config
modules to the repo
and then when making changes to modules change them to snapshot and
explicitly depend
on snapshots as necessary. At release time we'll have to audit all
this and publish the
config modules as releases again.
3) We'll need to figure out the automation for this stuff and get a
wiki page up that describes all this.
Taylor can you create a jira with everything we want to do?
Cheers,
Steve
On Sep 5, 2007, at 4:40 PM, Taylor Gautier wrote:
One repo, support -SNAPSHOT naming convention (I'd like to review
our restrictions on naming, as I mentioned earlier, I'd like to be
as permissive as possible)
Steven Harris wrote:
So what's the proposal then?
Cheers,
Steve
On Sep 5, 2007, at 4:29 PM, Taylor Gautier <[EMAIL PROTECTED]
> wrote:
No this won't work. You cannot name jars that have different
contents the same thing - they collide in your local repository
and makes for a mess. Depending on the state of your local
repository, and the particular repo defined in the current
project, you will be near guaranteed to get mixed versions of
released and snapshot jars.
Worse, even if you went to the trouble to blow away the entire
repo every time you switched from a snapshot to a release on a
per project basis, there is no way for a developer to distinguish
in the dependency, which means that a module that goes from
release to SNAPSHOT during development will all of a sudden be
*required* to depend on snapshot modules (and transitively all
the way down the chain) instead of release versions which would
be the expected behavior. Worse yet than that, the developer has
no way to undo this, and specify released versions which again is
expected behavior.
There is a reason SNAPSHOTs have a different name - it's to
distinguish from release just like regular version numbers (2.5.1
is different than 2.5.0) and we cannot break this.
Juris Galang wrote:
If we do implement support for the SNAPSHOT suffix in the bundle
jar's filename, we should consider how we are going to handle
dependencies:
If a bundle is specified in an l1 config and it happens to be a
snapshot should we assume that all of it's dependencies are also
snapshots?
Because if we don't assume that, then the bundle (and all of it's
dependencies) will also have to have knowledge of whether it's
dependencies ought to be a snapshot or not (specified via the
Require-
Bundle entry in its manifest) - this could be very awkward.
Throw in
3rd party bundles and their snapshots and things could get very
confusing very fast.
Having a snapshot repository simplifies things for us (including
TC
users and potential bundle developers); having a snapshot
repository
isn't unnatural in the Maven world (unless I'm wrong about it) -
and
having an extra repository to declare in your POM isn't as high an
overhead as trying to figure out how we'll fit OSGi's versioning/
revision scheme seamlessly with Maven repos.
On Sep 4, 2007, at 10:03 AM, Juris Galang wrote:
We still scan because in the Required-Bundle entry in the
manifest,
it is not necessary to supply the version information.
So if you say:
Require-Bundle: org.terracotta.modules.foo_bar
We really don't know what JAR file is available to serve that
module
foo-bar-1.0.0, foo-bar-1.0.1, etc...
On Sep 4, 2007, at 9:17 AM, Eugene Kuleshov wrote:
Taylor Gautier wrote:
How has the process changed since the move to Maven? Do we
scan the
entire maven repository? I would guess not....but maybe we do.
As far as I can see the entire repository is not scanned
anymore,
but
there is still some scanning. See
com.tc.bundles.Resolver.resolveBundle(BundleSpec spec)
I am not sure why it is still necessary and maybe Juris can
give a
better insight on that.
In any case these restrictions are frustrating - it seems
that it
would
be beneficial to remove any artificial naming restrictions - my
gut says
*.jar would suffice.
We need to be able to tell the file name and its location
based
on the
artifact/bundle id referenced/required by the other config
module. I
don't see how we can avoid enforcing module naming, neither I
don't
really see any harm in such enforcement.
regards,
Eugene
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev
_______________________________________________
tc-dev mailing list
[email protected]
http://lists.terracotta.org/mailman/listinfo/tc-dev