Hello, following situation:
I have like 20 projects which are libs of different level. They are all built as jars. They are partially dependent on each other (not circularly). For example project A provides very basic utils. Project B is more specialized and depends on A. Project C depends on A, project D on A and C. I have two requirements: First: I want them to depend on a released version of each other, not necessary last release, but preferred. This work if I declare the dependency as RELEASE or a version number like 1.0.2 Second: I want to be able to build automatically each night to check whether the last svn committed changes of the projects break the dependent projects. This works if I declare dependencies as SNAPSHOT, like 1.0.2-SNAPSHOT. The problem with SNAPSHOT is that If I release 1.0.1 of project B it upgrades the dependency of A from 1.0.1-SNAPSHOT to 1.0.2 SNAPSHOT (if I previously released an 1.0.1 of project A). As a result I am not able to release 1.0.2 of project B until I have released 1.0.2 of A, even I had no changes in A. Therefore the question, how can I teach maven that project depend on RELEASEd versions of each other for release process and dependency management on the one side, and on svn snapshots for CI purposes on the other? The only thing I can come up with right now is to have two different poms for each project, with different dependencies. But this sounds like a mess to maintain :-(. I have done this before with ant+ivy by simple declaring a file based 'local repository'. This local repository existed only in the context of a job. I than had a hudson job that checked out all 20 projects and published them one after each other into the local repository. If some versions would not compile, the job would fail and send an alert. This hasn't affected already released versions. Is something similar possible with maven? regards Leon --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
