Return-Path: X-Original-To: apmail-ant-notifications-archive@minotaur.apache.org Delivered-To: apmail-ant-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 996E6C17F for ; Mon, 28 May 2012 15:54:22 +0000 (UTC) Received: (qmail 22138 invoked by uid 500); 28 May 2012 15:54:22 -0000 Delivered-To: apmail-ant-notifications-archive@ant.apache.org Received: (qmail 22108 invoked by uid 500); 28 May 2012 15:54:22 -0000 Mailing-List: contact notifications-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ant.apache.org Delivered-To: mailing list notifications@ant.apache.org Received: (qmail 22101 invoked by uid 99); 28 May 2012 15:54:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 May 2012 15:54:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 May 2012 15:54:21 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 35E41238890B for ; Mon, 28 May 2012 15:54:01 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1343304 - in /ant/core/trunk: WHATSNEW src/main/org/apache/tools/ant/Main.java Date: Mon, 28 May 2012 15:54:01 -0000 To: notifications@ant.apache.org From: jkf@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120528155401.35E41238890B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jkf Date: Mon May 28 15:54:00 2012 New Revision: 1343304 URL: http://svn.apache.org/viewvc?rev=1343304&view=rev Log: Bug 51792 - Unable to override system properties with 1.8.2 Modified: ant/core/trunk/WHATSNEW ant/core/trunk/src/main/org/apache/tools/ant/Main.java Modified: ant/core/trunk/WHATSNEW URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1343304&r1=1343303&r2=1343304&view=diff ============================================================================== --- ant/core/trunk/WHATSNEW (original) +++ ant/core/trunk/WHATSNEW Mon May 28 15:54:00 2012 @@ -24,6 +24,10 @@ Fixed bugs: * Updated documentation to fix spelling errors / broken links. Bugzilla Reports 53215, 53291, 53202 + * Unable to override system properties. It was not possible not to override + system properties from the command line (or from a property file). + Bugzilla Report 51792 + Other changes: -------------- Modified: ant/core/trunk/src/main/org/apache/tools/ant/Main.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/Main.java?rev=1343304&r1=1343303&r2=1343304&view=diff ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/Main.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/Main.java Mon May 28 15:54:00 2012 @@ -36,6 +36,7 @@ import java.util.Vector; import org.apache.tools.ant.input.DefaultInputHandler; import org.apache.tools.ant.input.InputHandler; import org.apache.tools.ant.launch.AntMain; +import org.apache.tools.ant.property.GetProperty; import org.apache.tools.ant.property.ResolvePropertyMap; import org.apache.tools.ant.util.ClasspathUtils; import org.apache.tools.ant.util.FileUtils; @@ -147,6 +148,17 @@ public class Main implements AntMain { * proxy flag: default is false */ private boolean proxy = false; + + + private static final GetProperty NOPROPERTIES = new GetProperty(){ + @Override + public Object getProperty(String aName) { + // No existing property takes precedence + return null; + }}; + + + /** * Prints the message of the Throwable if it (the message) is not @@ -760,30 +772,7 @@ public class Main implements AntMain { } } - - - project.init(); - - // resolve properties - PropertyHelper propertyHelper - = (PropertyHelper) PropertyHelper.getPropertyHelper(project); - HashMap props = new HashMap(definedProps); - new ResolvePropertyMap(project, propertyHelper, - propertyHelper.getExpanders()) - .resolveAllProperties(props, null, false); - - // set user-define properties - for (Iterator e = props.entrySet().iterator(); e.hasNext(); ) { - Map.Entry ent = (Map.Entry) e.next(); - String arg = (String) ent.getKey(); - Object value = ent.getValue(); - project.setUserProperty(arg, String.valueOf(value)); - } - - project.setUserProperty(MagicNames.ANT_FILE, - buildFile.getAbsolutePath()); - project.setUserProperty(MagicNames.ANT_FILE_TYPE, - MagicNames.ANT_FILE_TYPE_FILE); + setProperties(project); project.setKeepGoingMode(keepGoingMode); if (proxy) { @@ -849,6 +838,33 @@ public class Main implements AntMain { } } + private void setProperties(final Project project) { + + project.init(); + + // resolve properties + PropertyHelper propertyHelper = (PropertyHelper) PropertyHelper + .getPropertyHelper(project); + HashMap props = new HashMap(definedProps); + + ResolvePropertyMap resolver = new ResolvePropertyMap(project, + NOPROPERTIES, propertyHelper.getExpanders()); + resolver.resolveAllProperties(props, null, false); + + // set user-define properties + for (Iterator e = props.entrySet().iterator(); e.hasNext(); ) { + Map.Entry ent = (Map.Entry) e.next(); + String arg = (String) ent.getKey(); + Object value = ent.getValue(); + project.setUserProperty(arg, String.valueOf(value)); + } + + project.setUserProperty(MagicNames.ANT_FILE, + buildFile.getAbsolutePath()); + project.setUserProperty(MagicNames.ANT_FILE_TYPE, + MagicNames.ANT_FILE_TYPE_FILE); + } + /** * Adds the listeners specified in the command line arguments, * along with the default listener, to the specified project.