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

Reply via email to