maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Edward Gruber <>
Subject Re: Multi-Platform snapshots
Date Fri, 04 Sep 2009 15:04:08 GMT
I've used classifiers before, though I think it's a bit of a hack.   
There's also the native plugin which makes .nar archives  - you should  
look and see what it does, since it is geared for native c/c++ builds  
(I believe)


On Sep 4, 2009, at 10:58 AM, Brian Fox wrote:

> I was recently working with a customer to move them off of using
> non-unique snapshots for various reasons. In the process we discovered
> a problem with snapshots, classifiers and multi-platform builds.
> In this scenario, we have a project that is built on multiple
> platforms, say windows, solaris and mac. The binaries must be built on
> the target platform. The source is the same, so the gav is the same. A
> CI build actually consists of 3 builds running in parallel. Each build
> deploys a classified artifact where the classifier is the platform, ie
> [windows|solaris|mac].
> When we flipped them over to using timestamped snapshots, we uncovered
> a problem. As each build finishes, maven increments the timestamp and
> build number and deploys their artifacts. The trouble is that each
> timestamped build consists of only 1/3 of the classified artifacts. So
> for example, once the Mac target is deployed, the Windows SNAPSHOT
> version is no longer able to be located because the maven-metadata.xml
> says the latest is the Mac only build.
> Since the source in this case is identical, having separate modules
> for this seems out of the way. Classifier really is the right way to
> distinguish between different flavors normally, but obviously this
> doesn't work well when you have to produce the artifacts from separate
> mvn invocations.
> It feels to me like we need some better support in Maven to handle
> these types of multi-platform builds, but I'm curious how people are
> handling it now?
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message