git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271221 13f79535-47bb-0310-9956-ffa450edef68master
@@ -55,6 +55,7 @@ package org.apache.ant.antlib.system; | |||||
import java.io.File; | import java.io.File; | ||||
import org.apache.ant.common.service.ExecService; | import org.apache.ant.common.service.ExecService; | ||||
import org.apache.ant.common.util.ExecutionException; | import org.apache.ant.common.util.ExecutionException; | ||||
import org.apache.ant.common.service.MagicProperties; | |||||
/** | /** | ||||
* The Ant task - used to execute a different build file | * The Ant task - used to execute a different build file | ||||
@@ -112,7 +113,8 @@ public class Ant extends AntBase { | |||||
antFile = new File(baseDir, "build.xml"); | antFile = new File(baseDir, "build.xml"); | ||||
} | } | ||||
} | } | ||||
setProperty(MagicProperties.BASEDIR, baseDir.getAbsolutePath()); | |||||
ExecService execService | ExecService execService | ||||
= (ExecService)getCoreService(ExecService.class); | = (ExecService)getCoreService(ExecService.class); | ||||
@@ -123,7 +123,8 @@ public abstract class AntBase extends AbstractTask { | |||||
/** | /** | ||||
* Validate this data type instance | * Validate this data type instance | ||||
* | * | ||||
* @exception ExecutionException if either attribute has not been set | |||||
* @exception ExecutionException if either attribute has not been | |||||
* set | |||||
*/ | */ | ||||
public void validateComponent() throws ExecutionException { | public void validateComponent() throws ExecutionException { | ||||
if (name == null) { | if (name == null) { | ||||
@@ -188,7 +189,8 @@ public abstract class AntBase extends AbstractTask { | |||||
/** | /** | ||||
* Validate this data type instance | * Validate this data type instance | ||||
* | * | ||||
* @exception ExecutionException if the refid attribute has not been set | |||||
* @exception ExecutionException if the refid attribute has not been | |||||
* set | |||||
*/ | */ | ||||
public void validateComponent() throws ExecutionException { | public void validateComponent() throws ExecutionException { | ||||
if (refId == null) { | if (refId == null) { | ||||
@@ -288,6 +290,16 @@ public abstract class AntBase extends AbstractTask { | |||||
properties.put(toId, value); | properties.put(toId, value); | ||||
} | } | ||||
/** | |||||
* Set a property for the subbuild | |||||
* | |||||
* @param propertyName the property name | |||||
* @param propertyValue the value of the property | |||||
*/ | |||||
protected void setProperty(String propertyName, Object propertyValue) { | |||||
properties.put(propertyName, propertyValue); | |||||
} | |||||
/** | /** | ||||
* Get the list of targets to be executed | * Get the list of targets to be executed | ||||
* | * | ||||
@@ -310,7 +322,7 @@ public abstract class AntBase extends AbstractTask { | |||||
if (!inheritAll) { | if (!inheritAll) { | ||||
return properties; | return properties; | ||||
} | } | ||||
// need to combine existing properties with new ones | // need to combine existing properties with new ones | ||||
Map subBuildProperties = dataService.getAllProperties(); | Map subBuildProperties = dataService.getAllProperties(); | ||||
subBuildProperties.putAll(properties); | subBuildProperties.putAll(properties); | ||||
@@ -54,6 +54,7 @@ | |||||
package org.apache.ant.antlib.system; | package org.apache.ant.antlib.system; | ||||
import org.apache.ant.common.service.ExecService; | import org.apache.ant.common.service.ExecService; | ||||
import org.apache.ant.common.util.ExecutionException; | import org.apache.ant.common.util.ExecutionException; | ||||
import org.apache.ant.common.service.MagicProperties; | |||||
/** | /** | ||||
* The Ant task - used to execute a different build file | * The Ant task - used to execute a different build file | ||||
@@ -68,6 +69,8 @@ public class AntCall extends AntBase { | |||||
* @exception ExecutionException if the build fails | * @exception ExecutionException if the build fails | ||||
*/ | */ | ||||
public void execute() throws ExecutionException { | public void execute() throws ExecutionException { | ||||
setProperty(MagicProperties.BASEDIR, | |||||
getContext().getBaseDir().getAbsolutePath()); | |||||
ExecService execService | ExecService execService | ||||
= (ExecService)getCoreService(ExecService.class); | = (ExecService)getCoreService(ExecService.class); | ||||