Feels kinda iffy that we have to go through and un-SNAPSHOT our modules every release/code-freeze time.
We could bring back the snapshot repository to simplify things; but that would mean we'd be locked in a mode where the user is either working with snapshots or not - though I think this might not be a bad thing; Eugene pointed out however that some users could find it useful to mix-and-match --- question is: would this be the more common use case? On Sep 25, 2007, at 2:09 PM, Eugene Kuleshov wrote: > Hi, > > I had somehow lengthy discussion with Juris about config modules, > versions and dependency resolution. > > Recently added default modules that are specified in tc.properties > made whole picture little more messy, especially if take Maven into > the > equation. > > To summarize, DSO configuration modules that are used at runtime can > come from several places: > > -- l1.configbundles.default entry in tc.properties: > l1.configbundles.default = > excludes-config;guimodels-config;jdk15-preinst-config;spring- > config;standard-config > > -- modules declared in tc-config.xml > <modules> > <module name="clustered-ehcache-1.3" version="1.0.0"/> > </modules> > > -- transitive dependencies listed in manifest.mf of any other module. > Foe example for clustered-hibernate-3.1.2 we currently have: > Bundle-SymbolicName: org.terracotta.modules.clustered- > hibernate-3.1.2 > Bundle-Version: 1.0.0 > Require-Bundle: org.terracotta.modules.modules_common, > org.terracotta.modules.clustered-cglib-2.1.3 > > If you think about above examples, they leave lots of assumptions > about what modules versions should be used and it could lead to some > nasty issues at the runtime. > > For some reason I thought it been agreed that we should always > explicitly specify all versions and also use -SNAPSHOTS between > releases, but it doesn't seem like it been changed in existing > modules, > except that tcbuild is adding -SNAPSHOT suffix to the nightly build > jars > deployed to maven repo. > > So, above configuration snippets should be changed as the following: > > l1.configbundles.default = > excludes-config,1.0.0-SNAPSHOT;guimodels-config,1.0.0- > SNAPSHOT;jdk15-preinst-config,1.0.0-SNAPSHOT;spring-config,1.0.0- > SNAPSHOT;standard-config,1.0.0-SNAPSHOT > > Bundle-SymbolicName: org.terracotta.modules.clustered- > hibernate-3.1.2 > Bundle-Version: 1.0.0-SNAPSHOT > Require-Bundle: > org.terracotta.modules.modules_common;bundle-version="1.0.0.SNAPSHOT", > > org.terracotta.modules.clustered-cglib-2.1.3;bundle- > version="1.0.0.SNAPSHOT" > > note that we can't use "-" for SNAPSHOT suffix in the bundle > version, > because OSGi prohibits that, so we may need some mapping in our module > jar resolver code. > > Then at release/code freeze time someone will have to do a quite > verbose operation and change all those versions to the release > versions. > > Any thoughts? > > 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
