You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2012/06/20 15:59:23 UTC

svn commit: r1352104 - in /ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl: AbstractAntDslProjectHelper.java AntDSL.g xtext/AntDSL.xtext xtext/AntDslXTextProjectHelper.java

Author: hibou
Date: Wed Jun 20 13:59:22 2012
New Revision: 1352104

URL: http://svn.apache.org/viewvc?rev=1352104&view=rev
Log:
Add support for onMissingExtensionPoint

Modified:
    ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java
    ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g
    ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext
    ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java

Modified: ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java?rev=1352104&r1=1352103&r2=1352104&view=diff
==============================================================================
--- ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java (original)
+++ ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java Wed Jun 20 13:59:22 2012
@@ -27,6 +27,7 @@ import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Vector;
@@ -286,9 +287,12 @@ public abstract class AbstractAntDslProj
     }
 
     public void mapCommonTarget(
-            Target target, Project project, AntDslContext context, String name, String description, List<String> depends, List<String> extensionsOf) {
-        // TODO
+            Target target, Project project, AntDslContext context, String name, String description, List<String> depends, List<String> extensionsOf,
+            String onMiss) {
         OnMissingExtensionPoint extensionPointMissing = null;
+        if (onMiss != null) {
+            extensionPointMissing = OnMissingExtensionPoint.valueOf(onMiss.toUpperCase(Locale.ENGLISH));
+        }
 
         context.addTarget(target);
         target.setProject(project);

Modified: ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g?rev=1352104&r1=1352103&r2=1352104&view=diff
==============================================================================
--- ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g (original)
+++ ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g Wed Jun 20 13:59:22 2012
@@ -86,9 +86,9 @@ extensionPoint returns [Target t = new T
     { context.setCurrentTarget(t); }
     desc=DOC?
     'extension-point' n=NAME
-    ('extensionOf' eo=targetList)?
     ('depends' d=targetList)?
-    { projectHelper.mapCommonTarget(t, project, context, $n.text, $desc.text, d, eo); }
+    ('extensionOf' eo=targetList ('onMiss' onMiss=STRING )? )?
+    { projectHelper.mapCommonTarget(t, project, context, $n.text, $desc.text, d, eo, $onMiss.text); }
     { context.setCurrentTarget(context.getImplicitTarget()); }
     ;
 
@@ -96,9 +96,9 @@ target returns [Target t = new Target()]
     { context.setCurrentTarget(t); }
     desc=DOC?
     'target' n=NAME
-    ('extensionOf' eo=targetList)?
     ('depends' d=targetList)?
-    { projectHelper.mapCommonTarget(t, project, context, $n.text, $desc.text, d, eo); }
+    ('extensionOf' eo=targetList ('onMiss' onMiss=STRING)? )?
+    { projectHelper.mapCommonTarget(t, project, context, $n.text, $desc.text, d, eo, $onMiss.text); }
     tl=taskLists?
     { for (Task task : tl) { t.addTask(task); } }
     { context.setCurrentTarget(context.getImplicitTarget()); }

Modified: ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext?rev=1352104&r1=1352103&r2=1352104&view=diff
==============================================================================
--- ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext (original)
+++ ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext Wed Jun 20 13:59:22 2012
@@ -34,10 +34,10 @@ ENamespace:
     name=NAME ':' uri=STRING;
 
 EExtensionPoint:
-    description=DOC? 'extension-point' name=NAME (('extensionOf' extensionsOf=ETargetList)? & ('depends' depends=ETargetList)?);
+    description=DOC? 'extension-point' name=NAME (('extensionOf' extensionsOf=ETargetList ('onMiss' onMissingExtensionPoint=STRING)? )? & ('depends' depends=ETargetList)?);
 
 ETarget:
-    description=DOC? 'target' name=NAME (('extensionOf' extensionsOf=ETargetList)? & ('depends' depends=ETargetList)?) tasks=ETaskLists?;
+    description=DOC? 'target' name=NAME (('extensionOf' extensionsOf=ETargetList ('onMiss' onMissingExtensionPoint=STRING)? )? & ('depends' depends=ETargetList)? ) tasks=ETaskLists?;
 
 ETaskLists:
     {ETaskLists}

Modified: ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java?rev=1352104&r1=1352103&r2=1352104&view=diff
==============================================================================
--- ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java (original)
+++ ant/sandbox/antdsl/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java Wed Jun 20 13:59:22 2012
@@ -181,7 +181,7 @@ public class AntDslXTextProjectHelper ex
         Target target = new Target();
         context.setCurrentTarget(target);
         mapCommonTarget(target, project, context, eTarget.getName(), eTarget.getDescription(), mapTargetList(eTarget.getDepends()),
-                mapTargetList(eTarget.getExtensionsOf()));
+                mapTargetList(eTarget.getExtensionsOf()), eTarget.getOnMissingExtensionPoint());
         ETaskLists tasks = eTarget.getTasks();
         if (tasks != null && tasks.getTasks() != null) {
             for (ETask eTask : tasks.getTasks()) {
@@ -202,7 +202,8 @@ public class AntDslXTextProjectHelper ex
     private ExtensionPoint mapExtensionPoint(Project project, AntDslContext context, EExtensionPoint eExtensionPoint) {
         ExtensionPoint extensionPoint = new ExtensionPoint();
         mapCommonTarget(extensionPoint, project, context, eExtensionPoint.getName(), eExtensionPoint.getDescription(),
-                mapTargetList(eExtensionPoint.getDepends()), mapTargetList(eExtensionPoint.getExtensionsOf()));
+                mapTargetList(eExtensionPoint.getDepends()), mapTargetList(eExtensionPoint.getExtensionsOf()),
+                eExtensionPoint.getOnMissingExtensionPoint());
         context.setCurrentTarget(context.getImplicitTarget());
         return extensionPoint;
     }