Hi Peter,

this POM configuration is on purpose. Apache Stanbol is a modular
software stack where each component may have its own release cycle. We
want to be able to release single components independent of others. So
each component defines its required dependencies independently. As
long as a component is not required to use a SNAPSHOT dep it should
stick to the stable version. This makes it possible to release only
required components and not to release the whole stack each time. By
the way, this is not an invention of Apache Stanbol but we follow best
practices established by projects like Apache Sling.

If you look at the launcher configurations you will see that the
launchers always contain the latest SNAPSHOT versions of all
components. This ensures that the integration tests are executed
against the latest code base.

I started and tried to document this at [1] but this documentation may
need further extensions if it is not clear enough.

[1] http://incubator.apache.org/stanbol/development/

Best,
 - Fabian

2012/5/18 Peter Ansell <[email protected]>:
> Some dependencies in the trunk doesn't seem to have been migrated
> across from 0.9.0-incubating-SNAPSHOT to 0.9.0-incubating and then to
> 0.10.0-incubating-SNAPSHOT completely.
>
> Is there an intentional slow migration of the versions of some packages 
> across?
>
> The examples I am looking at right now are ontologymanager.registry:
>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      
> <artifactId>org.apache.stanbol.commons.stanboltools.datafileprovider</artifactId>
>      <version>0.9.0-incubating</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.commons.stanboltools.offline</artifactId>
>      <version>0.9.0-incubating</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.ontologymanager.ontonet</artifactId>
>      <version>0.9.0-incubating</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.commons.owl</artifactId>
>      <version>0.10.0-incubating-SNAPSHOT</version>
>    </dependency>
>
> and ontologymanager.web (which doesn't use the new
> ontologymanager.registry code!):
>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.commons.indexedgraph</artifactId>
>      <version>0.9.0-incubating</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.commons.web.base</artifactId>
>      <version>0.9.0-incubating</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.ontologymanager.ontonet</artifactId>
>      <version>0.10.0-incubating-SNAPSHOT</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.ontologymanager.registry</artifactId>
>      <version>0.9.0-incubating</version>
>    </dependency>
>    <dependency>
>      <groupId>org.apache.stanbol</groupId>
>      <artifactId>org.apache.stanbol.commons.owl</artifactId>
>      <version>0.10.0-incubating-SNAPSHOT</version>
>    </dependency>
>
> I typically declare module dependency versions like the following to
> avoid these inconsistencies, so that the version and groupId only have
> to be set once in the parent section for each POM file:
>
>    <dependency>
>      <groupId>${project.groupId}</groupId>
>      <artifactId>org.apache.stanbol.commons.owl</artifactId>
>      <version>${project.version}</version>
>    </dependency>
>
> Cheers,
>
> Peter



-- 
Fabian
http://twitter.com/fctwitt

Reply via email to