On 16 Dec 06, at 2:50 AM 16 Dec 06, Jason Dillon wrote:
On Dec 15, 2006, at 11:05 PM, Jason van Zyl wrote:
I doubt it. When it came down to releases and updating artifacts
and trying to tie everything all together. Lots of people might
have problems but even now I bet there are people who could help
with the build if necessary. If you did it in Ant you would be the
only person who would know how it worked. You would get the nice
Inner Platform Effect with a build your size:
http://thedailywtf.com/forums/69415/ShowPost.aspx
I'd bet my life you would have more overall problems using Ant.
Just because you could get it to work doesn't mean it would scale
or be something anyone else could comprehend. It's probably
already hard enough with what you have.
Dang, I could not resist...
I think that the mvn build we have no is already fairly hard for
folks to comprehend and would probably fall apart unless someone
like me was here to answer everyones questions and monitor changes
to keep things in check. I think that is no different than if we
were using Ant.
I think you under estimate what other people know about Maven in that
they can apply their knowledge of the infrastructure from other
projects here provided you're following standard conventions. And
it's complicated because you're fighting a losing battle with too
many SNAPSHOTs. Even if the snapshot artifact resolution was perfect
you would still have these problems. You are getting bitten by some
severe technical problems in Maven, no doubt, but you are
exacerbating the situation by using the "SNAPSHOT" identifier
everywhere which inherently means "a shifting pile of sand" to Maven.
Start moving to eliminate them and your instabilities will lessen
tremendously.
I actually think that Ant + a few tasks to manage limited remote
dep inclusion + groovy scripting would be a very powerful
combination and would be at least half as complicated as our Maven
build.
That's what people always say, but I have first hand experience with
many large companies with large builds and they are moving away from
their homebrew systems because they are sinking projects. If you used
Maven in a way you describe above you would have stability i.e. no
snapshots. If you're going to script something then create a plugin
to walk your dependencies and replace the "SNAPSHOT" markers with
real timestamps and you will have stability. You are so much closer
to having something working all the time then you think.
But... I'd rather have Maven with a richer control over how deps
get pulled from remote repos, and more control over how local repos
get installed/pulled into the cache.
* * *
Anyways, I just want to be able to build G projects/components from
source, pull in external binary deps and generate assemblies for
specific branches. This was working fine before... and only the
recent change of the specs versioning has tossed me through a
loop. The solution is to make more project configurations to
handle each spec, but that is not scalable at all...
And... well, I think the only fault here really is that people look
at other mvn projects and just follow them... regardless if they
make sense for the problem at hand.
I still think remote repos suck... but, maybe you guys will
eventually find a better solution to that.
I don't think they suck, I think you're just getting bitten severely
by the erratic snapshot handling and overuse of snapshots. We will
eventually get the repository under control as it's clear now they
have become a mission critical resource for many people, we
understand that and it will be fixed. There's going to be a lot of
bitching when we actually turn on the gauntlet. Any release, for
example which contains a "SNAPSHOT" identifier anywhere in the graph
will simply be rejected.
Jason.
--jason