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

Reply via email to