Return-Path: X-Original-To: apmail-incubator-jena-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-jena-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E066D7C65 for ; Fri, 23 Dec 2011 16:13:02 +0000 (UTC) Received: (qmail 56516 invoked by uid 500); 23 Dec 2011 16:13:02 -0000 Delivered-To: apmail-incubator-jena-dev-archive@incubator.apache.org Received: (qmail 56429 invoked by uid 500); 23 Dec 2011 16:13:02 -0000 Mailing-List: contact jena-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jena-dev@incubator.apache.org Delivered-To: mailing list jena-dev@incubator.apache.org Received: (qmail 56421 invoked by uid 99); 23 Dec 2011 16:13:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Dec 2011 16:13:02 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [131.152.227.80] (HELO smtp1.unibas.ch) (131.152.227.80) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Dec 2011 16:12:55 +0000 X-IronPort-AV: E=Sophos;i="4.71,399,1320620400"; d="scan'208";a="174605893" Received: from webmail1.urz.unibas.ch ([131.152.27.29]) by smtp1priv.unibas.ch with ESMTP; 23 Dec 2011 17:12:34 +0100 Received: from localhost (localhost.localdomain [127.0.0.1]) by webmail1.urz.unibas.ch (Postfix) with ESMTP id 9BD54788C6 for ; Fri, 23 Dec 2011 17:12:34 +0100 (CET) Received: from dyn-110-37.mobile.unibas.ch (dyn-110-37.mobile.unibas.ch [131.152.37.110]) by webmail.unibas.ch (Horde Framework) with HTTP; Fri, 23 Dec 2011 17:12:34 +0100 Message-ID: <20111223171234.20734kfvrlumtgtu@webmail.unibas.ch> Date: Fri, 23 Dec 2011 17:12:34 +0100 From: Thorsten.Moeller@unibas.ch To: jena-dev@incubator.apache.org Subject: Re: Help with parent POMs References: <4EEF74DF.5050707@apache.org> <4EEF7A3E.1030605@apache.org> <4EEF90B9.4040904@apache.org> <4EEFAD60.4020906@googlemail.com> <4EEFB480.3000108@apache.org> <4EF04284.5040306@googlemail.com> <4EF4A21F.8080804@apache.org> In-Reply-To: <4EF4A21F.8080804@apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.4) X-Virus-Checked: Checked by ClamAV on apache.org Quoting Andy Seaborne : > For the moment, I've set the parent POM to be "0-incubating" on the > modules released and TDB , SDB and Fuseki. So someone can check out > a module and "mvn dependency:resolve" have have a working local > copy, including Eclipse set up. Just did that for IRI (fresh checkout). All fine. > That creates us the space to decide which of the two options we use > longer-term. > > I (currently) favour a disconnected parent POM. +1 > The parent POM is overloaded. Indeed. > It's build config, project details, base dependencies, and pointer > to the Apache parent POM. Did you consider making use of dependency management (and plugin management) [1] for enforcing versions of dependencies in jena-top? At the moment, essentially the same thing is done, but using properties that specify the version instead. > We could split out the common dependencies (Xerces, icu4j, junit, > slf4j,log4j) into some module as a root dependency: e.g. > jena-dependencies. -1 As Einstein has put it succinctly: keep it simple, but not simpler. Thorsten [1] http://stackoverflow.com/questions/2619598/differences-between-dependencymanagement-and-dependencies-of-maven > > Andy > > On 20/12/11 12:39, Benson Margulies wrote: >> On Tue, Dec 20, 2011 at 8:08 AM, Paolo Castagna >> wrote: >>> Hi Benson >>> >>> Benson Margulies wrote: >>>> Putting repos in all the poms would be viewed as evil by many, >>>> including me. Code moves, but released poms are forever. >>> >>> Which is more evil: having a duplicate section >>> in each of the modules (with at least the Apache snapshots >>> repository) or requiring everybody wanting to checkout and >>> mvn package a Jena module to put the section >>> in their settings.xml? >> >> >> Paolo, >> >> This is why people release their disconnected poms; it avoids this >> dilemma. I'm not in favor of checking in poms that point to >> disconnected parents via -SNAPSHOT. I'm in favor of picking from a >> menu of two choices: release the parent, or make one big tree in which >> everything is released together. If you pick one of those, you need no >> settings.xml unless you want to hold an ASF release vote on multiple >> releasable items at once, and then the only people who need it are >> people testing the releases. >> >> --benson >> >> >>> >>> I think making life of potential committers as easy as possible >>> it's more important: svn co ... + mvn package. >>> >>> Another option is not to have the JenaTop parent pom.xml as >>> SNAPSHOT dependency and use only JenaTop parents from Maven >>> Central. This has the consequence that when a change in the >>> JenaTop parent pom.xml is needed, we need to push it out to >>> Maven Central as quick as possible. Not a situation I would >>> recommend, in particular at the beginning when changes to >>> the JenaTop parent still happen. >>> >>>> >>>> I'm sure by now you've realized the technical situation: since the >>>> repo is declared in a parent the parent, that declaration is not >>>> available when locating the parent in the first place (unless it is in >>>> setting.xml). >>> >>> Or in the module's pom.xml itself. >>> >>> Little duplication for us (to maintain, I am happy to do the >>> maintenance for that, I do not expect to change in the next >>> few years!), no action required by anyone else in the Jena >>> team or any future curios developer wanting to compile a Jena >>> module. >>> >>> My 2 cents, >>> Paolo >>> >>>> >>>> On Mon, Dec 19, 2011 at 10:02 PM, Andy Seaborne wrote: >>>>> On 19/12/11 21:32, Paolo Castagna wrote: >>>>>> Benson Margulies wrote: >>>>>>>> (Still haven't completely grokked why SNAPSHOT versions can't >>>>>>>> pull down >>>>>>>> SNAPSHOT parent POMs but life is too short.) >>>>>>> >>>>>>> Whoops, missed this question. Have you run 'mvn deploy' to push the >>>>>>> snapshot? Even if you have, the snapshot repo isn't in anyone's repo >>>>>>> list by default. They would have to add it to their settings.xml. >>>>>> >>>>>> Does adding a section in each of the modules help? >>>>>> Maven cannot retrieve the parent pom.xml file from Maven Central >>>>>> (which is the only repository available before retrieving the >>>>>> parent pom itself). >>>>> >>>>> Ah - good point. They are in the Apache POM which is jena-top's parent. >>>>> >>>>> Adding them to settings.xml causes things to work. My bad. >>>>> >>>>> >>>>>> It's not ideal because of the repetition, but if it works would be >>>>>> not that bad (Apache Maven repositories are not going to change). >>>>> >>>>> Could do - there's in TDB and Fuseki currently >>>>> which current >>>>> use the staged artifacts for testing. >>>>> >>>>>> My 2 cents, >>>>>> Paolo >>>>> >>>>> Thanks, >>>>> Andy > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.