cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aristedes Maniatis <>
Subject Re: maven dependency issues
Date Mon, 28 Dec 2009 09:19:25 GMT
On 28/12/09 7:41 PM, Andrus Adamchik wrote:
> IIRC the only reason install is needed is because we have maven plugins
> built, that are themselves used during the build (build-tools). For
> everything else install is not needed. So the problems are likely
> elsewhere.

No, I think we need install because none of the modules are able to build against other modules
since they can't 'find' each other. Since the parent references are fictional, maven is unable
to traverse the build tree and figure out how all the code relates to each other.

> So the only problem you are having with install is Clover configuration?
> Then I'd rather we drop Clover :-) Seriously, I think we can resolve all
> these issues. I just don't understand what problems install is causing?

Some of these may be real, and some of these just my frustration after spending too much time
on this stuff...

1. When you build by hand and forget to run 'install' it is possible that you'll end up with
an invalid build. This is dangerous for the release process in particular.

2. Hudson needs to install for every build now (that is, once we have say 10 databases to
test against, 20 times it needs to install (1.6 and 1.5 multiplied against all the databases).
This was the reason for the failure last week just after you did a bit of refactoring... all
the Hudson builds started failing. I added "install" to them all now to get them to work.

3. Clover doesn't work. Possible all similar tools (findbugs, etc) will have similar problems.
Not sure yet.

4. It wasted hours of my time because I couldn't see what was happening with the code I was
working on, but that code wasn't being used, the 'installed' version was. Partly that is my
own ignorance of maven: I'm not used to installing being a critical part of the build process.

5. It isn't the standard maven way and may well break stuff in the future. Certainly confuse
people who expect that 'parent' and 'modules' in the pom make sense in the usual way. And
I still don't quite understand why the particular groupids are named what they are.

6. /zonestorage/hudson/home/hudson/hudson/jobs/Cayenne-30/workspace/cayenneTestConnection/HSQLDB/jdk/JDK
1.6 (latest)/STABLE-3.0/tutorials/tutorial/src/main/java/org/apache/cayenne/tutorial/persistent/auto/[3,25]
cannot find symbol
Is this the same problem or something else? Why can't it find the Cayenne code in the same
project? Why do these sorts of problems haunt us?

I'll stop harping on this now. If there is no appetite for change, that's fine. I can cope.
But I need help to get the Hudson builds working again. And I really think Clover would be
of great benefit to locating areas of critical code which aren't tested.

Maybe if I feel enthusiastic about maven again I'll try refactoring all the poms and see what
happens. It shouldn't take too long to try it out. But I'm going out now for a nice post-Christmas
dinner and perhaps with enough red wine maven will reveal its secrets to me later tonight...




Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

View raw message