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.
You are remembering correctly. Can you put a jira in to fix that. > > 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? My thoughts are that you are right :-) > > regards, > Eugene > > _______________________________________________ tc-dev mailing list [email protected] http://lists.terracotta.org/mailman/listinfo/tc-dev
