Re: maven dependency issues

From: Aristedes Maniatis (ar..aniatis.org)
Date: Mon Dec 28 2009 - 04:19:25 EST

  • Next message: Apache Hudson Server: "Build failed in Hudson: Cayenne-trunk » HSQLDB,JDK 1.6 (latest) #134"

    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/_Painting.java:[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...

    Regards

    Ari

    -- 
    

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



    This archive was generated by hypermail 2.0.0 : Mon Dec 28 2009 - 04:22:39 EST