David Legg wrote:
If you look for the pom.xml file in the [Cocoon trunk folder]/parent folder you will see the dependency for cocoon-core listed as follows: -

     <dependency>
       <groupId>org.apache.cocoon</groupId>
       <artifactId>cocoon-core</artifactId>
       <version>2.2.1-SNAPSHOT</version>
     </dependency>

As all the other blocks refer to this parent pom file that's where the version number is set. The Cocoon developers could have put the version number in each block's local pom.xml file but in a large project like Cocoon it makes more sense to set the version number in one place only.

Having thought this through some more I realize what I said is not strictly true. The version numbers specified by the pom file in the 'parent' folder sets the version number that all other artifacts that depend on this artifact should ask for. The version number specified in the artifact's local pom file effectively sets the version number of this artifact when it gets built.

So to make this clearer if we take the 'cocoon-core' artifact; it's pom.xml file is defined in [cocoon trunk]\core\cocoon-core\pom.xml. It contains a couple of lines as follows: -

 <artifactId>cocoon-core</artifactId>
 <version>2.2.1-SNAPSHOT</version>

These effectively set the version number of this artifact when it gets built.

However as I showed in my earlier email the pom.xml file in [cocoon trunk]\parent\pom.xml also specifies a version number (hopefully the same one!) and this is the one that other artifacts will look for if they express a dependency on it.

I also realized that maybe I should explain a bit more about the difference between the development version of Cocoon and the 'released' version. The development version is obviously managed in a subversion repository. As this is usually in a state of flux it is quite common to set the version numbers defined by some code to end in -SNAPSHOT. This tells maven to check the repository to see if a slightly more up to date version is ready. However, you should never see a version ending in -SNAPSHOT on the public maven repository. In theory when a release is made only non-snapshot versions are copied onto the repository.

HTH
David Legg


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org

Reply via email to