You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by jl...@apache.org on 2013/05/22 12:07:09 UTC

svn commit: r1485141 - in /ant/easyant/core/trunk/src/main/java/org/apache/easyant: core/EasyAntEngine.java core/ant/ProjectUtils.java core/services/impl/DefaultPluginServiceImpl.java tasks/SubModule.java

Author: jlboudart
Date: Wed May 22 10:07:09 2013
New Revision: 1485141

URL: http://svn.apache.org/r1485141
Log:
Remove injectTargetIntoExtensionPoint method in favor of ProjectHelper.resolveExtensionOfAttributes

Modified:
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntEngine.java
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java
    ant/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/SubModule.java

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntEngine.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntEngine.java?rev=1485141&r1=1485140&r2=1485141&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntEngine.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/EasyAntEngine.java Wed May 22 10:07:09 2013
@@ -100,9 +100,8 @@ public class EasyAntEngine {
         IvyConfigure easyantIvyConfigure = new IvyConfigure();
         easyantIvyConfigure.setSettingsId(EasyAntMagicNames.EASYANT_IVY_INSTANCE);
 
-        project.setNewProperty(EasyAntMagicNames.EASYANT_DEFAULT_IVYSETTINGS,
-                this.getClass().getResource("/org/apache/easyant/core/default-easyant-ivysettings.xml")
-                        .toExternalForm());
+        project.setNewProperty(EasyAntMagicNames.EASYANT_DEFAULT_IVYSETTINGS, this.getClass().getResource(
+                "/org/apache/easyant/core/default-easyant-ivysettings.xml").toExternalForm());
 
         project.setNewProperty(EasyAntMagicNames.EASYANT_CORE_JAR_URL, guessEasyantCoreJarUrl().toExternalForm());
 
@@ -229,8 +228,8 @@ public class EasyAntEngine {
         }
         // if no property is set check the default location
         if (path == null) {
-            File defaultGlboalEasyAntIvySettings = new File(
-                    helper.replaceProperties(EasyAntConstants.DEFAULT_GLOBAL_EASYANT_IVYSETTINGS));
+            File defaultGlboalEasyAntIvySettings = new File(helper
+                    .replaceProperties(EasyAntConstants.DEFAULT_GLOBAL_EASYANT_IVYSETTINGS));
             if (!defaultGlboalEasyAntIvySettings.exists()) {
                 return null;
             }
@@ -260,8 +259,8 @@ public class EasyAntEngine {
 
         for (int i = 0; i < configuration.getListeners().size(); i++) {
             String className = (String) configuration.getListeners().elementAt(i);
-            BuildListener listener = (BuildListener) ClasspathUtils.newInstance(className,
-                    EasyAntEngine.class.getClassLoader(), BuildListener.class);
+            BuildListener listener = (BuildListener) ClasspathUtils.newInstance(className, EasyAntEngine.class
+                    .getClassLoader(), BuildListener.class);
             project.setProjectReference(listener);
 
             project.addBuildListener(listener);
@@ -283,8 +282,8 @@ public class EasyAntEngine {
         if (configuration.getInputHandlerClassname() == null) {
             handler = new DefaultInputHandler();
         } else {
-            handler = (InputHandler) ClasspathUtils.newInstance(configuration.getInputHandlerClassname(),
-                    Main.class.getClassLoader(), InputHandler.class);
+            handler = (InputHandler) ClasspathUtils.newInstance(configuration.getInputHandlerClassname(), Main.class
+                    .getClassLoader(), InputHandler.class);
             project.setProjectReference(handler);
         }
         project.setInputHandler(handler);
@@ -403,7 +402,7 @@ public class EasyAntEngine {
         try {
             project.init();
             project.addReference(EasyAntMagicNames.EASYANT_ENGINE_REF, this);
-    
+
             // set user-define properties
             Enumeration<?> properties = configuration.getDefinedProps().propertyNames();
             while (properties.hasMoreElements()) {
@@ -411,14 +410,14 @@ public class EasyAntEngine {
                 String value = (String) configuration.getDefinedProps().get(arg);
                 project.setUserProperty(arg, value);
             }
-    
+
             project.setUserProperty(EasyAntMagicNames.EASYANT_OFFLINE, Boolean.toString(configuration.isOffline()));
-    
+
             ProjectHelper helper = ProjectUtils.configureProjectHelper(project);
-    
+
             IvyAntSettings easyantIvySettings = configureEasyAntIvyInstance(project);
             configurePluginService(project, easyantIvySettings);
-    
+
             // Profile
             if (configuration.getActiveBuildConfigurations().size() != 0) {
                 String buildConfigurations = null;
@@ -428,30 +427,29 @@ public class EasyAntEngine {
                     } else {
                         buildConfigurations = buildConfigurations + "," + conf;
                     }
-    
+
                 }
                 project.log("Active build configurations : " + buildConfigurations, Project.MSG_INFO);
                 project.setProperty(EasyAntMagicNames.ACTIVE_BUILD_CONFIGURATIONS, buildConfigurations);
             }
             loadSystemPlugins(project, true);
-    
+
             locateBuildModuleAndBuildFile(project);
-    
+
             if (configuration.getBuildModule() != null || configuration.getBuildFile() != null) {
                 LoadModule lm = new LoadModule();
                 lm.setBuildModule(configuration.getBuildModule());
                 lm.setBuildFile(configuration.getBuildFile());
                 executeTask(lm, "load-module", project);
             }
-    
-            // FIXME:resolve extensionOf attributes this should be exposed by Apache Ant
-            ProjectUtils.injectTargetIntoExtensionPoint(project, helper);        
-        } catch (RuntimeException exc) {            
+
+            helper.resolveExtensionOfAttributes(project);
+        } catch (RuntimeException exc) {
             fireBuildFinished(project, exc);
             throw exc;
         } catch (Error e) {
             fireBuildFinished(project, e);
-            throw e;        
+            throw e;
         }
     }
 

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java?rev=1485141&r1=1485140&r2=1485141&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/ProjectUtils.java Wed May 22 10:07:09 2013
@@ -21,7 +21,6 @@ import java.io.File;
 import java.io.PrintStream;
 import java.lang.reflect.Field;
 import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Map;
 
@@ -29,11 +28,9 @@ import org.apache.tools.ant.BuildExcepti
 import org.apache.tools.ant.BuildListener;
 import org.apache.tools.ant.BuildLogger;
 import org.apache.tools.ant.DefaultLogger;
-import org.apache.tools.ant.ExtensionPoint;
 import org.apache.tools.ant.Location;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.ProjectHelper.OnMissingExtensionPoint;
 import org.apache.tools.ant.Target;
 
 /**
@@ -122,8 +119,10 @@ public class ProjectUtils {
      */
     public static void printMemoryDetails(Project project) {
         project.log("---- Memory Details ----");
-        project.log("  Used Memory  = "
-                + (Runtime.getRuntime().totalMemory() / MEGABYTE - Runtime.getRuntime().freeMemory() / MEGABYTE) + "MB");
+        project
+                .log("  Used Memory  = "
+                        + (Runtime.getRuntime().totalMemory() / MEGABYTE - Runtime.getRuntime().freeMemory() / MEGABYTE)
+                        + "MB");
         project.log("  Free Memory  = " + (Runtime.getRuntime().freeMemory() / MEGABYTE) + "MB");
         project.log("  Total Memory = " + (Runtime.getRuntime().totalMemory() / MEGABYTE) + "MB");
         project.log("-----------------------");
@@ -160,32 +159,6 @@ public class ProjectUtils {
         return ret;
     }
 
-    public static void injectTargetIntoExtensionPoint(Project project, ProjectHelper helper) {
-        for (Object extensionInfos : helper.getExtensionStack()) {
-            String[] extensionInfo = (String[]) extensionInfos;
-            String tgName = extensionInfo[0];
-            String name = extensionInfo[1];
-            OnMissingExtensionPoint missingBehaviour = OnMissingExtensionPoint.FAIL;
-            Hashtable<?, ?> projectTargets = project.getTargets();
-            if (!projectTargets.containsKey(tgName)) {
-                String message = "can't add target " + name + " to extension-point " + tgName
-                        + " because the extension-point is unknown.";
-                if (missingBehaviour == OnMissingExtensionPoint.FAIL) {
-                    throw new BuildException(message);
-                } else if (missingBehaviour == OnMissingExtensionPoint.WARN) {
-                    Target target = (Target) projectTargets.get(name);
-                    project.log(target, "Warning: " + message, Project.MSG_WARN);
-                }
-            } else {
-                Target t = (Target) projectTargets.get(tgName);
-                if (!(t instanceof ExtensionPoint)) {
-                    throw new BuildException("referenced target " + tgName + " is not an extension-point");
-                }
-                t.addDependency(name);
-            }
-        }
-    }
-
     @SuppressWarnings("unchecked")
     public static ProjectHelper configureProjectHelper(Project project) {
         ProjectHelper helper = ProjectHelper.getProjectHelper();

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java?rev=1485141&r1=1485140&r2=1485141&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java Wed May 22 10:07:09 2013
@@ -23,8 +23,8 @@ import java.io.IOException;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.Properties;
+import java.util.Map.Entry;
 
 import org.apache.easyant.core.EasyAntConstants;
 import org.apache.easyant.core.EasyAntMagicNames;
@@ -119,8 +119,8 @@ public class DefaultPluginServiceImpl im
             ResolveOptions resolveOptions = new ResolveOptions();
             resolveOptions.setLog(ResolveOptions.LOG_QUIET);
             resolveOptions.setConfs(conf.split(","));
-            ResolveReport report = IvyContext.getContext().getIvy().getResolveEngine()
-                    .resolve(pluginIvyFile.toURI().toURL(), resolveOptions);
+            ResolveReport report = IvyContext.getContext().getIvy().getResolveEngine().resolve(
+                    pluginIvyFile.toURI().toURL(), resolveOptions);
             eaReport = new EasyAntReport();
             eaReport.setResolveReport(report);
             eaReport.setModuleDescriptor(report.getModuleDescriptor());
@@ -155,8 +155,8 @@ public class DefaultPluginServiceImpl im
             ResolveOptions resolveOptions = new ResolveOptions();
             resolveOptions.setLog(ResolveOptions.LOG_QUIET);
             resolveOptions.setConfs(conf.split(","));
-            final ResolveReport report = IvyContext.getContext().getIvy().getResolveEngine()
-                    .resolve(moduleRevisionId, resolveOptions, true);
+            final ResolveReport report = IvyContext.getContext().getIvy().getResolveEngine().resolve(moduleRevisionId,
+                    resolveOptions, true);
             eaReport = new EasyAntReport();
             eaReport.setResolveReport(report);
             eaReport.setModuleDescriptor(report.getModuleDescriptor());
@@ -177,8 +177,8 @@ public class DefaultPluginServiceImpl im
                         } else if ("jar".equals(artifact.getType())) {
                             path.createPathElement().setLocation(artifact.getLocalFile());
                         } else {
-                            handleOtherResourceFile(moduleRevisionId, artifact.getName(), artifact.getExt(),
-                                    artifact.getLocalFile());
+                            handleOtherResourceFile(moduleRevisionId, artifact.getName(), artifact.getExt(), artifact
+                                    .getLocalFile());
                         }
                     }
                     if (antFile != null && antFile.exists()) {
@@ -249,8 +249,8 @@ public class DefaultPluginServiceImpl im
                 }
                 if (FileSet.class.isAssignableFrom(taskClass)) {
                     FileSet fileSet = (FileSet) maybeConfigureTask(task);
-                    handleFilesetParameter(task.getRuntimeConfigurableWrapper().getId(), fileSet,
-                            task.getOwningTarget(), eaReport);
+                    handleFilesetParameter(task.getRuntimeConfigurableWrapper().getId(), fileSet, task
+                            .getOwningTarget(), eaReport);
                 }
             }
         }
@@ -280,8 +280,8 @@ public class DefaultPluginServiceImpl im
         importedModuleReport.setMandatory(importTask.isMandatory());
         importedModuleReport.setMode(importTask.getMode());
         importedModuleReport.setAs(importTask.getAs());
-        importedModuleReport
-                .setEasyantReport(getPluginInfo(ModuleRevisionId.parse(importedModuleReport.getModuleMrid())));
+        importedModuleReport.setEasyantReport(getPluginInfo(ModuleRevisionId
+                .parse(importedModuleReport.getModuleMrid())));
         eaReport.addImportedModuleReport(importedModuleReport);
 
         Message.debug("Ant file import another module called : " + importedModuleReport.getModuleMrid() + " with mode "
@@ -492,7 +492,8 @@ public class DefaultPluginServiceImpl im
         loadModule.setLocation(new Location(ProjectUtils.emulateMainScript(p).getAbsolutePath()));
         loadModule.setProject(p);
         loadModule.execute();
-        ProjectUtils.injectTargetIntoExtensionPoint(p, ProjectUtils.getConfiguredProjectHelper(p));
+        ProjectHelper projectHelper = ProjectUtils.getConfiguredProjectHelper(p);
+        projectHelper.resolveExtensionOfAttributes(p);
         analyseProject(p, eaReport, "default");
 
         return eaReport;

Modified: ant/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/SubModule.java
URL: http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/SubModule.java?rev=1485141&r1=1485140&r2=1485141&view=diff
==============================================================================
--- ant/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/SubModule.java (original)
+++ ant/easyant/core/trunk/src/main/java/org/apache/easyant/tasks/SubModule.java Wed May 22 10:07:09 2013
@@ -194,7 +194,7 @@ public class SubModule extends AbstractE
             lm.setUseBuildRepository(useBuildRepository);
             lm.execute();
 
-            ProjectUtils.injectTargetIntoExtensionPoint(subModule, helper);
+            helper.resolveExtensionOfAttributes(subModule);
 
             String targetsToRun = filterTargets(subModule);
             printExecutingTargetMsg(subModule);