Author: jlboudart
Date: Mon Jul 22 15:36:05 2013
New Revision: 1505720

URL: http://svn.apache.org/r1505720
Log:
gather root module location from target if no task at root level was defined

Modified:
    
ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/listerners/TaskCollectorFromImplicitTargetListener.java
    
ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/services/impl/DefaultPluginServiceImpl.java

Modified: 
ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/listerners/TaskCollectorFromImplicitTargetListener.java
URL: 
http://svn.apache.org/viewvc/ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/listerners/TaskCollectorFromImplicitTargetListener.java?rev=1505720&r1=1505719&r2=1505720&view=diff
==============================================================================
--- 
ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/listerners/TaskCollectorFromImplicitTargetListener.java
 (original)
+++ 
ant/easyant/core/trunk/src/main/java/org/apache/easyant/core/ant/listerners/TaskCollectorFromImplicitTargetListener.java
 Mon Jul 22 15:36:05 2013
@@ -26,6 +26,8 @@ import org.apache.easyant.tasks.PathTask
 import org.apache.tools.ant.BuildEvent;
 import org.apache.tools.ant.BuildListener;
 import org.apache.tools.ant.ComponentHelper;
+import org.apache.tools.ant.Location;
+import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Task;
 import org.apache.tools.ant.taskdefs.Property;
 import org.apache.tools.ant.types.FileSet;
@@ -46,7 +48,7 @@ public class TaskCollectorFromImplicitTa
     }
 
     public void taskStarted(BuildEvent buildEvent) {
-        collectRootModuleLocation(buildEvent);
+        gatherRootModuleLocation(buildEvent.getProject(), 
buildEvent.getTask().getLocation());
         if (buildEvent.getTarget().getName().equals("")) {
             Task task = buildEvent.getTask();
             if (task.getTaskType() != null) {
@@ -64,10 +66,17 @@ public class TaskCollectorFromImplicitTa
         }
     }
 
-    private void collectRootModuleLocation(BuildEvent buildEvent) {
-        if (buildEvent.getProject().getProperty(ROOT_MODULE_LOCATION) == null) 
{
-            buildEvent.getProject().setNewProperty(ROOT_MODULE_LOCATION,
-                    buildEvent.getTask().getLocation().getFileName());
+    /**
+     * Set rootModuleLocation property
+     * 
+     * @param project
+     *            a given project
+     * @param rootModuleLocation
+     *            root module location to set
+     */
+    public static void gatherRootModuleLocation(Project project, Location 
rootModuleLocation) {
+        if (project.getProperty(ROOT_MODULE_LOCATION) == null) {
+            project.setNewProperty(ROOT_MODULE_LOCATION, 
rootModuleLocation.getFileName());
         }
     }
 

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=1505720&r1=1505719&r2=1505720&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
 Mon Jul 22 15:36:05 2013
@@ -247,6 +247,9 @@ public class DefaultPluginServiceImpl im
         Map<String, Target> targets = 
ProjectUtils.removeDuplicateTargets(project.getTargets());
         for (Target target : targets.values()) {
             if (!"".equals(target.getName())) {
+                // gather root module location from target if no task at root 
level was defined
+                
TaskCollectorFromImplicitTargetListener.gatherRootModuleLocation(target.getProject(),
+                        target.getLocation());
                 handleTarget(target, eaReport);
                 for (int i = 0; i < target.getTasks().length; i++) {
                     Task task = target.getTasks()[i];
@@ -306,7 +309,7 @@ public class DefaultPluginServiceImpl im
         String rootModuleLocation = 
project.getProperty(TaskCollectorFromImplicitTargetListener.ROOT_MODULE_LOCATION);
         if (rootModuleLocation == null) {
             throw new IllegalStateException(
-                    "rootModuleLocation not found, looks like 
TaskCOllectorFromImplicitTargetListener is not properly configured");
+                    "rootModuleLocation not found, looks like 
TaskCollectorFromImplicitTargetListener is not properly configured");
         }
         return rootModuleLocation != null && location != null && 
location.getFileName().equals(rootModuleLocation);
     }


Reply via email to