Return-Path: X-Original-To: apmail-ant-dev-archive@www.apache.org Delivered-To: apmail-ant-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BAA7091C7 for ; Sun, 19 Feb 2012 21:27:15 +0000 (UTC) Received: (qmail 30067 invoked by uid 500); 19 Feb 2012 21:27:15 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 29962 invoked by uid 500); 19 Feb 2012 21:27:14 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 29953 invoked by uid 99); 19 Feb 2012 21:27:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Feb 2012 21:27:14 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ddevienne@gmail.com designates 209.85.214.45 as permitted sender) Received: from [209.85.214.45] (HELO mail-bk0-f45.google.com) (209.85.214.45) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 19 Feb 2012 21:27:09 +0000 Received: by bkue19 with SMTP id e19so4713831bku.4 for ; Sun, 19 Feb 2012 13:26:48 -0800 (PST) Received-SPF: pass (google.com: domain of ddevienne@gmail.com designates 10.204.10.91 as permitted sender) client-ip=10.204.10.91; Authentication-Results: mr.google.com; spf=pass (google.com: domain of ddevienne@gmail.com designates 10.204.10.91 as permitted sender) smtp.mail=ddevienne@gmail.com; dkim=pass header.i=ddevienne@gmail.com Received: from mr.google.com ([10.204.10.91]) by 10.204.10.91 with SMTP id o27mr9721036bko.17.1329686808007 (num_hops = 1); Sun, 19 Feb 2012 13:26:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=6B1LL4tSAnTboKiS4ufRlXHCLiNwaZWU6CNXf2OdK98=; b=DmLu6DS5Snf7ULaKaNU6FV2PJSRTkjzVMHWlvY3IE6GgaaBtQXL+cpnz5SGB2LdiSq Jsl6W3OEMNsT0JdjoCuOHgqTSv0ajFkNHxcJg8iFYpLPkd2oXt3IkffD63i0tVlFKY1s 3qB5Q+E8Bk22abNvabFRX4Zhj3ee3gfHBV+F8= MIME-Version: 1.0 Received: by 10.204.10.91 with SMTP id o27mr7906921bko.17.1329686807923; Sun, 19 Feb 2012 13:26:47 -0800 (PST) Received: by 10.204.229.205 with HTTP; Sun, 19 Feb 2012 13:26:47 -0800 (PST) In-Reply-To: References: <87obtc1l08.fsf@v35516.1blu.de> <4F39559A.80003@callenish.com> <87haytzeoi.fsf@v35516.1blu.de> <4F3AAFD1.9050508@callenish.com> <0034F824-F1B4-4893-B835-65DC6226B4F7@hibnet.org> <4F3D5D39.1000603@callenish.com> <4F3D8BB9.3040301@callenish.com> <4F3EA58E.7060200@callenish.com> Date: Sun, 19 Feb 2012 22:26:47 +0100 Message-ID: Subject: Re: NIO 2.0 == Ant 2.0? was Re: Java NIO support From: Dominique Devienne To: Ant Developers List Content-Type: text/plain; charset=ISO-8859-1 On Sat, Feb 18, 2012 at 11:02 AM, Gilles Scokart wrote: > For me, one feature for a 2,0 would be a different style of dependency > tree that would allow better parallel execution (on the same machine, > or why not on distributed machines). Agreed. I was in fact thinking of this one as well when I wrote my "integrated build generator/manipulator". > I see the 'targets' being more declarative, becoming a state > transition saying : I need this resources in that state, I will use > this other resources (and I don't want the to change during my > execution, and I will produce this other resources in that other > state. Yep, with the modulo that I see 'targets' in a fine-grained way, i.e. you know the graph of actions to transition all input files/resources and come up with the optimum way to achieve the stated goals given the hardware resources (single cpu computer, multi-core computer, grid of computers). That's basically Makefile territory in a way, and similar to what Peter's does as well. Right now Ant's targets typically deal with "macro" dependencies (build all .class file before building all .jar ones), and not "micro" dependencies at the file level, so the opportunities to do stuff in parallel are lessened IMHO. One reason Ant doesn't care much about this kind of parallelism is that Javac is fast-enough and cannot be distributed really, and it's the compilation of native languages like C++ that benefit most from those, and that's not Ant's territory in fact. > The dependency tree would be an logical engine finding the shortest > path to go to the desired state, using parallel/distributed processing > when possible. > > That's what I miss with existing build system : I want to go as > quickly as possible to a desired build state (from a current state). Have you read the 4 part series about how Google does its builds? Below's a link to part#4. --DD http://google-engtools.blogspot.com/2011/10/build-in-cloud-distributing-build.html --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org