Return-Path: Delivered-To: apmail-incubator-ivy-user-archive@locus.apache.org Received: (qmail 37681 invoked from network); 2 Nov 2007 05:11:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Nov 2007 05:11:53 -0000 Received: (qmail 70856 invoked by uid 500); 2 Nov 2007 05:11:41 -0000 Delivered-To: apmail-incubator-ivy-user-archive@incubator.apache.org Received: (qmail 70836 invoked by uid 500); 2 Nov 2007 05:11:41 -0000 Mailing-List: contact ivy-user-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@incubator.apache.org Delivered-To: mailing list ivy-user@incubator.apache.org Delivered-To: moderator for ivy-user@incubator.apache.org Received: (qmail 25729 invoked by uid 99); 1 Nov 2007 15:55:44 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of johnrasmussendk@gmail.com designates 66.249.82.232 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=3uKbb3+sqnpRFroXDVRu9MOS824R6/DUtz+NxSaXa/0=; b=fAbHGwybhmGTXgCTOwuwlQwdd6qQKUYk2Kn36wEFziueKJRmIG0mM9U5BEVG4EjbVmuxlrrF8/YFyZMTEn6gphzmnr2I9AAU38hZMa7dsMA8sh1bpkVD40o5hw/8MYvDuHBmlVQxQgf5wMlHfu8ZbcYmRcgtep1VkMlri4YBcig= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=fKrFq+XaqkULm31wf8P8BrljmqikB9uflXMwPZG7wSKoKn1OazUp0/oQ4UC3S4SqTD6ekWoyy3wQCvGpAifXVQyPaEMR0LOKdMf8pP2W/NXjz8Wm4XUztyJdO3LCOcGv1dMfgqftVmgxjMBDITXxm1KWb+0vjzMJRPK6xUzrOes= Message-ID: <871937e20711010855m771b4d0gae0488e2bb842764@mail.gmail.com> Date: Thu, 1 Nov 2007 16:55:24 +0100 From: "John Rasmussen" To: ivy-user@incubator.apache.org Subject: Configuration notation extension MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Checked: Checked by ClamAV on apache.org I'm looking for a more powerful notation of the conf attribute in the dependency tag in ivy.xml. A little introduction before the question: In some cases I define one or more "submodules" to an ivy module (In most cases an ivy module is just one artifact(jar file)). Furthermore I have a number of ivy configurations defined for each module (the specific configurations are not relevant for the question): build - configuration of artifacts needed to build the module. compile - configuration of artifacts needed for another module to build with this module runtime - configuration of artifacts needed for the module build at runtime. source - configuration of artifacts java source documentation - configuration of artifacts javadoc If a submodule is defined then another 4 configurations will be defined: -compile, -runtime, -source, -documentation Thus a dependency to submodule A in myModule looks: which is kind of saying: I need build, runtime, source and documentation stuff from subModule A in myModule. Now for the question: Has anyone considered a notation to express the above conf in a shorter way? Or, handling submodules in another way (still having javadoc and javasrc)? I have considered some kind of macro notation, but I'm not sure, I like that idea... A (or more) macro could be defined in the section, near the defaultconfmapping attribute and look like: "myMacro{x}=build->@{x}-compile ; runtime->@{x}-runtime ; source->{@}x-source ; documentation->@{x}-documentation" which gives a dependency as: Normally, we do not use submodules but split a module into a number of modules, and then add the dependencies. But sometimes it is hard to split a module, and then we create one or more submodules with "subparts of the module". Most modules have no submodule, hence setting defaultconfmapping="build->compile;runtime;source;documentation" means that it is not necessary to specify the conf attribute of the module dependency. I know some find the current notation of the conf attribute too complicated, though. Thanks for a powerful tool. Regards John Rasmussen