[jboss-dev] Why Maven sucks (part 1)
Carlo de Wolf
cdewolf at redhat.com
Mon Apr 21 14:07:11 EDT 2008
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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-development
Carlo
More information about the jboss-development
mailing list