Paul Gier wrote:
Carlo de Wolf wrote:
>
> Now if it was a tool focussed on dependency management (like Ivy) it
> would have solved the real problem: snapshots. So let's do an example:
> - as trunk -> ejb3-core-0.1-SNAPSHOT ->
> ejb3-interceptors-0.13-0-SNAPSHOT -> aop-2.1-SNAPSHOT (for the example)
> If I happen to deploy a new snapshot of aop, it'll break AS build.
> Why: ejb3-core is not compatible and Maven blindly loads it up. This
> is not possible in Ivy, it's snapshot repository looks like:
> - as trunk -> ejb3-core-0.1-20080421 ->
> ejb3-interceptors-0.13.0-20080421 -> aop-2.1-20080420.
> If I happen to deploy a new snapshot of aop you get and I run a
> nightly build on ejb3 you get:
> - as trunk -> ejb3-core-0.1-20080421 ->
> ejb3-interceptors-0.13.0-20080421 -> aop-2.1-20080420
> - ejb3-interceptors-0.13-0-20080422 -> aop-2.1-20080422
> Since ejb3-core didn't properly build there is no new snapshot for it
> and AS build is unaffected.
> Combine this with unit tests and you got a pretty stable setup.
>
We can do this using maven also. If you want to tie the build to a
specific snapshot, just put the full snapshot version in the
dependency. So for example, ejb3-interceptors you could put version
"0.13.0-20080417.210958-18". And maven will keep using that snapshot
build until you change the dependency. The -SNAPSHOT convention is just
for convenience if you just want to build with the latest until a
release comes out.
It must be automated. Whenever someone does a mvn deploy, the pom.xml
should be replaced by one not containing any snapshots, but only full
versions.
As far as the unit tests, by default maven will not deploy unless all
tests have passed. If you want it to deploy regardless of test failures
then you have to put <testFailureIgnore>true</testFailureIgnore> in your
surefire configuration. We currently have this parameter set in some
poms and it should probably just be removed.
Yes, especially from any parent pom.
_______________________________________________
jboss-development mailing list
jboss-development(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-development
Carlo