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/08/21 19:48:15 UTC
svn commit: r1375694 - in /ant/sandbox/antdsl/branches/import-experiment: ./
doc/ org.apache.ant.antdsl.tests/ org.apache.ant.antdsl.tests/META-INF/
org.apache.ant.antdsl.ui/ org.apache.ant.antdsl/
org.apache.ant.antdsl/.launch/ org.apache.ant.antdsl/....
Author: hibou
Date: Tue Aug 21 17:48:14 2012
New Revision: 1375694
URL: http://svn.apache.org/viewvc?rev=1375694&view=rev
Log:
Merged revisions 1362288-1375689 via svnmerge from
https://svn.apache.org/repos/asf/ant/sandbox/antdsl/trunk
........
r1367311 | hibou | 2012-07-30 23:22:07 +0200 (Mon, 30 Jul 2012) | 9 lines
- use AntExpression rather than String as attributes of tasks
- rework macros so they can hold expressions:
- regular arguments become local properties
- no more @{} substitution
- renamed to 'function' so avoid the confusion with xml style macros
=> needs ant trunk, the build needs to be rework
........
r1367319 | hibou | 2012-07-30 23:34:15 +0200 (Mon, 30 Jul 2012) | 2 lines
Update the generated plugin.xml
........
r1367323 | hibou | 2012-07-30 23:37:22 +0200 (Mon, 30 Jul 2012) | 2 lines
Update screenshot
........
r1375628 | hibou | 2012-08-21 17:55:46 +0200 (Tue, 21 Aug 2012) | 3 lines
- update to use Eclipse juno repository, so a new version of Xtext
- less hack for the OSGi build, by using Ivy 2.4 and Ant 1.9
........
r1375651 | hibou | 2012-08-21 18:37:17 +0200 (Tue, 21 Aug 2012) | 2 lines
Remove generated files plugin.xml_gen and ignore them
........
r1375652 | hibou | 2012-08-21 18:38:12 +0200 (Tue, 21 Aug 2012) | 2 lines
Add new generated file
........
r1375653 | hibou | 2012-08-21 18:39:03 +0200 (Tue, 21 Aug 2012) | 2 lines
Improve dependency declaration
........
r1375679 | hibou | 2012-08-21 19:36:40 +0200 (Tue, 21 Aug 2012) | 3 lines
Fix dependencies of the generation targets.
The build should work pretty well now.
........
r1375682 | hibou | 2012-08-21 19:42:20 +0200 (Tue, 21 Aug 2012) | 2 lines
Also copy the ant 1.9 jar into the AntDSL plugin for the build in Eclipse
........
Added:
ant/sandbox/antdsl/branches/import-experiment/doc/antdsl.png
- copied unchanged from r1375682, ant/sandbox/antdsl/trunk/doc/antdsl.png
ant/sandbox/antdsl/branches/import-experiment/ivy-fixed.xml
- copied unchanged from r1375682, ant/sandbox/antdsl/trunk/ivy-fixed.xml
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.settings/
- copied from r1375682, ant/sandbox/antdsl/trunk/org.apache.ant.antdsl/.settings/
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/FunctionCall.java
- copied unchanged from r1375682, ant/sandbox/antdsl/trunk/org.apache.ant.antdsl/src/org/apache/ant/antdsl/FunctionCall.java
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/FunctionDef.java
- copied unchanged from r1375682, ant/sandbox/antdsl/trunk/org.apache.ant.antdsl/src/org/apache/ant/antdsl/FunctionDef.java
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/xtend-gen/org/apache/ant/antdsl/xtext/generator/AntDSLGenerator.java
- copied unchanged from r1375682, ant/sandbox/antdsl/trunk/org.apache.ant.antdsl/xtend-gen/org/apache/ant/antdsl/xtext/generator/AntDSLGenerator.java
Removed:
ant/sandbox/antdsl/branches/import-experiment/doc/antdsl.jpeg
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/plugin.xml_gen
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/plugin.xml_gen
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/ExtensionPoint.java
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/Target.java
Modified:
ant/sandbox/antdsl/branches/import-experiment/ (props changed)
ant/sandbox/antdsl/branches/import-experiment/build.xml
ant/sandbox/antdsl/branches/import-experiment/doc/index.html
ant/sandbox/antdsl/branches/import-experiment/ivy.xml
ant/sandbox/antdsl/branches/import-experiment/ivysettings.xml
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/ (props changed)
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/ (props changed)
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/META-INF/MANIFEST.MF
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/ (props changed)
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/plugin.xml
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.classpath
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.launch/AntDSL.launch
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.launch/GenerateAntDSL.mwe2.launch
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/META-INF/MANIFEST.MF
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/plugin.xml
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/expr/AntExpression.java
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext
ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java
ant/sandbox/antdsl/branches/import-experiment/test/build.ant
Propchange: ant/sandbox/antdsl/branches/import-experiment/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Aug 21 17:48:14 2012
@@ -1,3 +1,4 @@
build
lib
build-deps
+*.classpath
Propchange: ant/sandbox/antdsl/branches/import-experiment/
------------------------------------------------------------------------------
svn:mergeinfo = /ant/sandbox/antdsl/trunk:1367311-1375682
Propchange: ant/sandbox/antdsl/branches/import-experiment/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Aug 21 17:48:14 2012
@@ -1 +1 @@
-/ant/sandbox/antdsl/trunk:1-1362287
+/ant/sandbox/antdsl/trunk:1-1375689
Modified: ant/sandbox/antdsl/branches/import-experiment/build.xml
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/build.xml?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/build.xml (original)
+++ ant/sandbox/antdsl/branches/import-experiment/build.xml Tue Aug 21 17:48:14 2012
@@ -1,6 +1,6 @@
<project name="ant-dsl" xmlns:ivy="antlib:org.apache.ivy.ant">
- <property name="ivy.version" value="2.3.0-rc1" />
+ <property name="ivy.version" value="2.4.0-alpha" />
<target name="-check-build-deps">
<condition property="build-deps.exist">
@@ -8,6 +8,7 @@
<available file="${basedir}/build-deps/antlr-3.4-complete.jar" />
<available file="${basedir}/build-deps/antlr3-task/ant-antlr3.jar" />
<available file="${basedir}/build-deps/ivy-${ivy.version}.jar" />
+ <available file="${basedir}/build-deps/apache-ant-1.9.0alpha-bin.zip" />
</and>
</condition>
<mkdir dir="${user.home}/.ivy2/lib/" />
@@ -15,10 +16,13 @@
<target name="-download-build-deps" depends="-check-build-deps" unless="build-deps.exist">
<mkdir dir="${basedir}/build-deps" />
- <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar" dest="${basedir}/build-deps/ivy-${ivy.version}.jar" usetimestamp="true" />
+ <get src="https://builds.apache.org/pview/job/Ivy/lastSuccessfulBuild/artifact/trunk/build/artifact/jars/ivy.jar" dest="${basedir}/build-deps/ivy-${ivy.version}.jar" usetimestamp="true" />
<get src="http://antlr.org/download/antlr-3.4-complete.jar" dest="${basedir}/build-deps/antlr-3.4-complete.jar" usetimestamp="true" />
<get src="http://www.antlr.org/share/1169924912745/antlr3-task.zip" dest="${basedir}/build-deps/antlr3-task.zip" usetimestamp="true" />
<unzip src="${basedir}/build-deps/antlr3-task.zip" dest="${basedir}/build-deps/" />
+ <get src="https://builds.apache.org/job/Ant_Nightly/lastSuccessfulBuild/artifact/trunk/distribution/binaries/apache-ant-1.9.0alpha-bin.zip" dest="${basedir}/build-deps/apache-ant-1.9.0alpha-bin.zip" usetimestamp="true" />
+ <unzip src="${basedir}/build-deps/apache-ant-1.9.0alpha-bin.zip" dest="${basedir}/build-deps/" />
+ <copy file="${basedir}/build-deps/apache-ant-1.9.0alpha/lib/ant.jar" tofile="${basedir}/org.apache.ant.antdsl/ant.jar" />
</target>
<target name="init" depends="-download-build-deps">
@@ -31,12 +35,35 @@
<taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpath="${basedir}/build-deps/ivy-${ivy.version}.jar" />
</target>
- <target name="get-deps" depends="init" description="Download dependencies" >
+ <target name="ivy:configure" depends="init">
<ivy:configure file="ivysettings.xml" />
- <ivy:resolve file="ivy.xml" conf="*" />
- <ivy:retrieve conf="*" pattern="${basedir}/lib/[artifact]_[revision].[ext]" sync="true" />
</target>
+ <target name="get-deps" depends="init,ivy:configure" description="Download dependencies" >
+ <ivy:resolve file="ivy-fixed.xml" conf="*" uncompress="true" />
+ <!--ivy:retrieve conf="*" pattern="${basedir}/lib/[type]s/[artifact]_[revision](.[ext])" sync="true" uncompress="true" /-->
+ <ivy:cachepath pathid="antruntime.classpath.ivy" conf="antruntime" type="jar" uncompress="true" osgi="true" />
+ <ivy:cachepath pathid="generate.classpath.ivy" conf="generate" type="jar" uncompress="true" osgi="true" />
+ <!-- Now we need to hack since we the ant trunk to build -->
+ <path id="antruntime.classpath">
+ <fileset dir="build-deps/apache-ant-1.9.0alpha/lib" includes="*.jar" />
+ <path refid="antruntime.classpath.ivy" />
+ </path>
+ <path id="generate.classpath">
+ <fileset dir="build-deps/apache-ant-1.9.0alpha/lib" includes="*.jar" />
+ <path refid="generate.classpath.ivy" />
+ </path>
+ <echo message="${toString:antruntime.classpath}" file=".antruntime.classpath" />
+ <echo message="${toString:generate.classpath}" file=".generate.classpath" />
+ </target>
+
+ <target name="-do-update-deps" depends="init,ivy:configure">
+ <ivy:resolve file="ivy.xml" conf="*" uncompress="true" resolveId="antdsl-update-deps" />
+ <ivy:fixdeps tofile="ivy-fixed.xml" resolveId="antdsl-update-deps" />
+ </target>
+
+ <target name="update-deps" depends="-do-update-deps,get-deps" description="Update dependencies (to be called on ivy.xml chnage)" />
+
<target name="clean" description="Clean build artifacts">
<delete dir="${basedir}/build" />
</target>
@@ -55,35 +82,20 @@
</target>
<target name="generate-xtext" description="Generate XText and Ecore files for the full plugin">
+ <loadpath pathid="generate.classpath" file=".generate.classpath" />
<java classname="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher" dir="${basedir}/org.apache.ant.antdsl" fork="true" failonerror="true">
<classpath>
<pathelement path="${basedir}/org.apache.ant.antdsl/src/" />
- <fileset dir="${basedir}/lib" includes="*.jar" />
+ <path refid="generate.classpath" />
</classpath>
<arg line="src/org/apache/ant/antdsl/xtext/GenerateAntDSL.mwe2" />
</java>
</target>
<target name="build" description="Full build of a antdsl jar">
- <!--copy todir="${basedir}/build">
- <zipentry zipfile="${basedir}/lib/org.eclipse.jdt.core_3.7.3.v_OTDT_r202_201202051448.jar" name="jdtCompilerAdapter.jar" />
- </copy>
- <componentdef name="jdtCompilerAdapter" classname="org.eclipse.jdt.core.JDTCompilerAdapter">
- <classpath>
- <pathelement path="${basedir}/build/jdtCompilerAdapter.jar" />
- <pathelement path="${basedir}/lib/org.eclipse.jdt.core_3.7.3.v_OTDT_r202_201202051448.jar" />
- </classpath>
- </componentdef-->
- <unzip src="${basedir}/lib/org.apache.ant_1.8.2.v20120109-1030.jar" dest="${basedir}/build/ant" />
+ <loadpath pathid="antruntime.classpath" file=".antruntime.classpath" />
<mkdir dir="${basedir}/build/classes" />
- <javac srcdir="${basedir}/org.apache.ant.antdsl/src/:${basedir}/org.apache.ant.antdsl/src-gen/:${basedir}/org.apache.ant.antdsl/xtend-gen" destdir="${basedir}/build/classes" debug="on" includeantruntime="false" source="1.6" target="1.6">
- <classpath>
- <fileset dir="${basedir}/lib" includes="*.jar" />
- <fileset dir="${basedir}/build/ant/lib/" includes="*.jar" />
- </classpath>
- <!--jdtCompilerAdapter />
- <compilerarg line="-proceedOnError" /-->
- </javac>
+ <javac srcdir="${basedir}/org.apache.ant.antdsl/src/:${basedir}/org.apache.ant.antdsl/src-gen/:${basedir}/org.apache.ant.antdsl/xtend-gen" destdir="${basedir}/build/classes" debug="on" includeantruntime="false" source="1.6" target="1.6" classpathref="antruntime.classpath" />
<copy todir="${basedir}/build/classes">
<fileset dir="${basedir}/org.apache.ant.antdsl/src">
<exclude name="*.java" />
@@ -100,10 +112,11 @@
</target>
<target name="test-xtext" description="Test the run of an antdsl file with Xtext-generated parser">
+ <loadpath pathid="antruntime.classpath" file=".antruntime.classpath" />
<typedef classname="org.apache.ant.antdsl.xtext.AntDslXTextProjectHelper" name="antDslProjectHelper">
<classpath>
- <fileset dir="${basedir}/lib" includes="*.jar" />
<pathelement path="${basedir}/build/antdsl.jar" />
+ <path refid="antruntime.classpath" />
</classpath>
</typedef>
<projecthelper>
@@ -113,10 +126,11 @@
</target>
<target name="test-antlr" description="Test the run of an antdsl file with Xtext-generated parser">
+ <loadpath pathid="antruntime.classpath" file=".antruntime.classpath" />
<typedef classname="org.apache.ant.antdsl.antlr.AntDslAntlrProjectHelper" name="antDslProjectHelper">
<classpath>
- <fileset dir="${basedir}/lib" includes="*.jar" />
<pathelement path="${basedir}/build/antdsl.jar" />
+ <path refid="antruntime.classpath" />
</classpath>
</typedef>
<projecthelper>
@@ -124,4 +138,21 @@
</projecthelper>
<ant antfile="test/build.ant" target="build" />
</target>
+
+ <macrodef name="loadpath">
+ <attribute name="pathid" />
+ <attribute name="file" />
+ <sequential>
+ <path id="@{pathid}">
+ <resourcelist>
+ <file file="@{file}" />
+ <filterchain>
+ <tokenfilter>
+ <replacestring from="${path.separator}" to="${line.separator}"/>
+ </tokenfilter>
+ </filterchain>
+ </resourcelist>
+ </path>
+ </sequential>
+ </macrodef>
</project>
\ No newline at end of file
Modified: ant/sandbox/antdsl/branches/import-experiment/doc/index.html
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/doc/index.html?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/doc/index.html (original)
+++ ant/sandbox/antdsl/branches/import-experiment/doc/index.html Tue Aug 21 17:48:14 2012
@@ -26,18 +26,18 @@ namespaces {
{
prop foo = "hello world!"
- echo(message="${foo}")
+ echo(message = ${foo})
}
-# Some documentation of the macro
-macrodef mymacro(arg t = "mymacro")
+# Some documentation of the function
+function myfunction(local t = "myfunction")
{
- echo(message = "@{t}")
+ echo(message = ${t})
}
-macrodef mymacro2(arg dest, implicit element source)
+function myfunction2(local dest, implicit element source)
{
- copy(todir = "@{dest}" {
+ copy(todir = ${dest}, {
source()
})
}
@@ -57,24 +57,24 @@ target notexecuted
target build
depends dep, notexecuted
{
- copy(file = "${basedir}/test/build.ant", tofile = "${basedir}/build/test/build.ant.copy")
+ copy(file = ${basedir} + "/test/build.ant", tofile = ${basedir} + "/build/test/build.ant.copy")
// some comment
- jar(file = "${basedir}/build/test/my.jar" {
- fileset(dir="${basedir}/test", includes="*.ant")
+ jar(file = ${basedir} + "/build/test/my.jar" {
+ fileset(dir = ${basedir} + "/test", includes = "*.ant")
})
- mymacro()
- mymacro(t = "simple macro")
+ myfunction()
+ myfunction(t = "simple function")
/*
* Some multiline comment
*/
- if (available(file = "${basedir}/test/build.ant")) {
- mymacro2(dest = "${basedir}/build/test/dest", {
- fileset(dir = "${basedir}", includes="build.*")
+ if (available(file = ${basedir} + "/test/build.ant")) {
+ myfunction2(dest = ${basedir} + "/build/test/dest", {
+ fileset(dir = ${basedir}, includes = "build.*")
})
} else {
fail(message = "fail !")
}
- if (isset(property = "foo") && !isset(property = "notsetproperty")) {
+ if (isset(property = "foo") && !isset(property = "notsetproperty")) {
echo(message = "test ok")
} else {
fail(message = "fail !")
@@ -84,16 +84,17 @@ target build
echo(message = "test encoding\nline")
local test = "hello" + ' ' + "world !"
- echo(message = "${test}")
+ echo(message = ${test})
local test2 = ((12345 + 6789) % 98765 == 12.4f)
- echo(message = "${test2}")
+ echo(message = ${test2})
+ echo(message = eval("${test2}"))
}
</pre>
</p>
<p>
Here are a screenshot of the Eclipse plugin:
-<center><img src="antdsl.jpeg" /></center>
+<center><img src="antdsl.png" /></center>
</p>
<h2>Build</h2>
Modified: ant/sandbox/antdsl/branches/import-experiment/ivy.xml
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/ivy.xml?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/ivy.xml (original)
+++ ant/sandbox/antdsl/branches/import-experiment/ivy.xml Tue Aug 21 17:48:14 2012
@@ -1,56 +1,31 @@
<ivy-module version="2.0">
- <info organisation="org.apache.ant" module="ant-dsl" />
+ <info organisation="org.apache.ant" module="ant-dsl">
+ <extends organisation="bundle" module="org.apache.ant.antdsl" revision="1.0.0" location="org.apache.ant.antdsl/META-INF/MANIFEST.MF"/>
+ </info>
<configurations>
- <conf name="default" extends="antruntime" />
- <conf name="antruntime" />
- <conf name="generate" extends="antruntime" />
+ <conf name="antruntime" extends="default" />
+ <conf name="generate" extends="optional" />
</configurations>
<dependencies>
- <!--dependency org="bundle" name="org.eclipse.xtext" rev="2.2.1.v201112130541" conf="default->default" /-->
- <dependency org="bundle" name="org.apache.ant" rev="1.8.2.v20120109-1030" conf="antruntime->default" transitive="false" />
- <!--dependency org="bundle" name="org.eclipse.equinox.launcher" rev="1.2.0.v20110502" conf="default->default" /-->
- <dependency org="bundle" name="org.eclipse.emf.mwe2.launch" rev="2.2.0.v201112071250" conf="antruntime->default" transitive="false" />
-
- <dependency org="bundle" name="org.eclipse.xtext" rev="2.2.1.v201112130541" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="com.google.guava" rev="10.0.1.1" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.ecore" rev="2.7.0.v20120127-1122" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.ecore.xmi" rev="2.7.0.v20120127-1122" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.common" rev="2.7.0.v20120127-1122" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="com.google.inject" rev="3.0.0.no_aop" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.apache.log4j" rev="1.2.15.v201012070815" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="javax.inject" rev="1.0.0.v20091030" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtext.util" rev="2.2.1.v201112130541" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.antlr.runtime" rev="3.2.0.v201101311130" conf="antruntime->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtext.common.types" rev="2.2.1.v201112130541" conf="antruntime->default" transitive="false" />
+ <!-- ambiguity fix -->
+ <dependency org="bundle" name="org.apache.log4j" rev="1.2.15.v201012070815" conf="*->default" />
+ <dependency org="bundle" name="org.apache.commons.logging" rev="1.1.1.v201101211721" conf="*->default" />
+ <dependency org="bundle" name="com.ibm.icu" rev="4.4.2.v20110823" conf="*->default" />
+ <dependency org="bundle" name="org.eclipse.ui.forms" rev="3.5.200.v20120521-2329" conf="*->default" />
- <dependency org="bundle" name="org.apache.commons.cli" rev="1.2.0.v201105210650" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.mwe2.language" rev="2.2.0.v201112071250" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.mwe2.runtime" rev="2.2.0.v201112070431" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.mwe.utils" rev="1.2.1.v201112070431" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.mwe.core" rev="1.2.1.v201112070431" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.apache.commons.logging" rev="1.0.4.v201101211617" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtext.generator" rev="2.2.1.v201112130541" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xpand" rev="1.1.0.v201108020519" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtend" rev="1.1.0.v201108020519" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.codegen.ecore" rev="2.7.0.v20110913-1156" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtext.xbase" rev="2.2.1.v201112130541" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.codegen" rev="2.6.0.v20120130-0943" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtext.xbase.lib" rev="2.2.1.v201112130541" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="de.itemis.xtext.antlr" rev="2.0.0.v201108011202" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="com.ibm.icu" rev="4.4.2.v20110823" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.xtend2.lib" rev="2.2.1.v201112130541" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.antlr.generator" rev="3.2.0.v201108011202" conf="generate->default" transitive="false" />
- <dependency org="bundle" name="org.eclipse.emf.mwe2.lib" rev="2.2.0.v201112070431" conf="generate->default" transitive="false" />
-
- <!--dependency org="bundle" name="org.eclipse.jdt.core" rev="3.7.3.v20120119-1537" conf="default->default" transitive="false" /-->
+ <!-- some optional dependency we do need -->
+ <dependency org="bundle" name="org.eclipse.emf.mwe2.lib" rev="2.2.0+" conf="generate->default" />
- <exclude org="package" module="org.eclipse.swt.accessibility2" />
- <exclude org="package" module="org.mozilla.xpcom" />
- <exclude org="package" module="javax.crypto" />
- <exclude org="package" module="javax.crypto.spec" />
- <exclude org="package" module="javax.security.auth" />
- <exclude org="package" module="javax.security.auth.callback" />
- <exclude org="package" module="javax.security.auth.login" />
- <exclude org="package" module="javax.security.auth.spi" />
+ <!-- provided -->
+ <exclude org="package" module="javax.xml.parsers" />
+ <exclude org="package" module="javax.xml.transform" />
+ <exclude org="package" module="javax.xml.transform.dom" />
+ <exclude org="package" module="javax.xml.transform.stream" />
+ <exclude org="package" module="org.xml.sax" />
+ <exclude org="package" module="org.xml.sax.helpers" />
+ <exclude org="package" module="org.xml.sax.ext" />
+ <exclude org="package" module="org.w3c.dom" />
+ <exclude org="package" module="org.w3c.dom.events" />
+ <exclude org="package" module="javax.annotation" />
</dependencies>
</ivy-module>
Modified: ant/sandbox/antdsl/branches/import-experiment/ivysettings.xml
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/ivysettings.xml?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/ivysettings.xml (original)
+++ ant/sandbox/antdsl/branches/import-experiment/ivysettings.xml Tue Aug 21 17:48:14 2012
@@ -5,17 +5,17 @@
<property name="caches.basedir" value="${ivy.default.ivy.user.dir}/repo-caches" />
<caches resolutionCacheDir="${ivy.default.ivy.user.dir}/resolution-cache">
- <cache name="eclipse-indigo" basedir="${caches.basedir}/eclipse-indigo" />
+ <cache name="eclipse-juno" basedir="${caches.basedir}/eclipse-juno" />
<cache name="xtext" basedir="${caches.basedir}/xtext" />
</caches>
<resolvers>
- <updatesite name="eclipse-indigo" url="http://download.eclipse.org/releases/indigo" cache="eclipse-indigo" requirementStrategy="first" />
+ <updatesite name="eclipse-juno" url="http://download.eclipse.org/releases/juno" cache="eclipse-juno" requirementStrategy="first" />
<updatesite name="xtext" url="http://download.itemis.com/updates/releases" cache="xtext" requirementStrategy="first" />
<chain name="all" returnFirst="true">
- <resolver ref="eclipse-indigo" />
+ <resolver ref="eclipse-juno" />
<resolver ref="xtext" />
</chain>
Propchange: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Aug 21 17:48:14 2012
@@ -1 +1,4 @@
bin
+plugin.xml_gen
+.antlr-generator-3.2.0.jar
+ant.jar
Propchange: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Aug 21 17:48:14 2012
@@ -1 +1,2 @@
bin
+plugin.xml_gen
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/META-INF/MANIFEST.MF?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/META-INF/MANIFEST.MF (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.tests/META-INF/MANIFEST.MF Tue Aug 21 17:48:14 2012
@@ -1,18 +1,25 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.apache.ant.antdsl.tests
-Bundle-Vendor: My Company
-Bundle-Version: 1.0.0
-Bundle-SymbolicName: org.apache.ant.antdsl.tests; singleton:=true
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.apache.ant.antdsl,
- org.apache.ant.antdsl.ui,
- org.eclipse.core.runtime,
- org.eclipse.xtext,
- org.eclipse.xtext.junit4,
- org.eclipse.xtext.ui.junit,
- org.junit4,
- org.eclipse.ui.workbench;resolution:=optional
-Import-Package: org.apache.log4j,
- org.apache.commons.logging
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.apache.ant.antdsl.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0
+Bundle-SymbolicName: org.apache.ant.antdsl.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.apache.ant.antdsl,
+ org.apache.ant.antdsl.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.xtext,
+ org.eclipse.xtext.junit4,
+ org.eclipse.xtext.ui.junit,
+ org.junit4,
+ org.eclipse.ui.workbench;resolution:=optional
+Import-Package: org.apache.log4j,
+ org.apache.commons.logging,
+ org.junit.runner;version="4.5.0",
+ org.junit.runner.manipulation;version="4.5.0",
+ org.junit.runner.notification;version="4.5.0",
+ org.junit.runners;version="4.5.0",
+ org.junit.runners.model;version="4.5.0",
+ org.hamcrest.core
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.apache.ant.antdsl.xtext
Propchange: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Aug 21 17:48:14 2012
@@ -1 +1,2 @@
bin
+plugin.xml_gen
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/plugin.xml
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/plugin.xml?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/plugin.xml (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl.ui/plugin.xml Tue Aug 21 17:48:14 2012
@@ -23,42 +23,42 @@
<extension
point="org.eclipse.ui.editors">
<editor
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="ant"
- id="org.apache.ant.antdsl.AntDSL"
+ id="org.apache.ant.antdsl.xtext.AntDSL"
name="AntDSL Editor">
</editor>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
<activeWhen>
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</activeWhen>
</handler>
<handler
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
- commandId="org.apache.ant.antdsl.AntDSL.validate">
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.apache.ant.antdsl.xtext.AntDSL.validate">
<activeWhen>
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.expressions.definitions">
- <definition id="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ <definition id="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
<and>
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
- value="org.apache.ant.antdsl.AntDSL"
+ value="org.apache.ant.antdsl.xtext.AntDSL"
forcePluginActivation="true"/>
</with>
</and>
@@ -67,33 +67,33 @@
<extension
point="org.eclipse.ui.preferencePages">
<page
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
- id="org.apache.ant.antdsl.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL"
name="AntDSL">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
</page>
<page
- category="org.apache.ant.antdsl.AntDSL"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
- id="org.apache.ant.antdsl.AntDSL.coloring"
+ category="org.apache.ant.antdsl.xtext.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL.coloring"
name="Syntax Coloring">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
</page>
<page
- category="org.apache.ant.antdsl.AntDSL"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
- id="org.apache.ant.antdsl.AntDSL.templates"
+ category="org.apache.ant.antdsl.xtext.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL.templates"
name="Templates">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
</page>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
- id="org.apache.ant.antdsl.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL"
name="AntDSL">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
@@ -103,14 +103,14 @@
<extension
point="org.eclipse.ui.keywords">
<keyword
- id="org.apache.ant.antdsl.ui.keyword_AntDSL"
+ id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"
label="AntDSL"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Trigger expensive validation"
- id="org.apache.ant.antdsl.AntDSL.validate"
+ id="org.apache.ant.antdsl.xtext.AntDSL.validate"
name="Validate">
</command>
</extension>
@@ -118,12 +118,12 @@
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command
- commandId="org.apache.ant.antdsl.AntDSL.validate"
+ commandId="org.apache.ant.antdsl.xtext.AntDSL.validate"
style="push"
tooltip="Trigger expensive validation">
<visibleWhen checkEnabled="false">
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</visibleWhen>
</command>
@@ -133,7 +133,7 @@
<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
<visibleWhen checkEnabled="false">
- <reference definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ <reference definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</visibleWhen>
</command>
@@ -141,11 +141,11 @@
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
commandId="org.eclipse.xtext.ui.editor.FindReferences">
<activeWhen>
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</activeWhen>
</handler>
@@ -156,43 +156,65 @@
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
type="ant">
</parser>
</extension>
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
uriExtension="ant">
</resourceServiceProvider>
</extension>
+ <!-- marker definitions for org.apache.ant.antdsl.xtext.AntDSL -->
+ <extension
+ id="antdsl.check.fast"
+ name="AntDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.fast"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="antdsl.check.normal"
+ name="AntDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.normal"/>
+ <persistent value="true"/>
+ </extension>
+ <extension
+ id="antdsl.check.expensive"
+ name="AntDSL Problem"
+ point="org.eclipse.core.resources.markers">
+ <super type="org.eclipse.xtext.ui.check.expensive"/>
+ <persistent value="true"/>
+ </extension>
<extension
point="org.eclipse.xtext.builder.participant">
<participant
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
</participant>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
- category="org.apache.ant.antdsl.AntDSL"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
- id="org.apache.ant.antdsl.AntDSL.compiler.preferencePage"
+ category="org.apache.ant.antdsl.xtext.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL.compiler.preferencePage"
name="Compiler">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
</page>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
- category="org.apache.ant.antdsl.AntDSL"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
- id="org.apache.ant.antdsl.AntDSL.compiler.propertyPage"
+ category="org.apache.ant.antdsl.xtext.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL.compiler.propertyPage"
name="Compiler">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
@@ -204,11 +226,11 @@
<extension
point="org.eclipse.ui.handlers">
<handler
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
<activeWhen>
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</activeWhen>
</handler>
@@ -228,26 +250,47 @@
style="push"
tooltip="Open Quick Outline">
<visibleWhen checkEnabled="false">
- <reference definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened"/>
+ <reference definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened"/>
</visibleWhen>
</command>
</menuContribution>
</extension>
- <!-- quickfix marker resolution generator -->
- <extension
- point="org.eclipse.ui.ide.markerResolution">
- <markerResolutionGenerator
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
- </markerResolutionGenerator>
- </extension>
+ <!-- quickfix marker resolution generator for org.apache.ant.antdsl.xtext.AntDSL -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.apache.ant.antdsl.xtext.ui.antdsl.check.fast">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.apache.ant.antdsl.xtext.ui.antdsl.check.normal">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ <markerResolutionGenerator
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
+ markerType="org.apache.ant.antdsl.xtext.ui.antdsl.check.expensive">
+ <attribute
+ name="FIXABLE_KEY"
+ value="true">
+ </attribute>
+ </markerResolutionGenerator>
+ </extension>
<!-- Rename Refactoring -->
<extension point="org.eclipse.ui.handlers">
<handler
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler"
commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
<activeWhen>
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</activeWhen>
</handler>
@@ -259,7 +302,7 @@
style="push">
<visibleWhen checkEnabled="false">
<reference
- definitionId="org.apache.ant.antdsl.AntDSL.Editor.opened">
+ definitionId="org.apache.ant.antdsl.xtext.AntDSL.Editor.opened">
</reference>
</visibleWhen>
</command>
@@ -267,29 +310,29 @@
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
- category="org.apache.ant.antdsl.AntDSL"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
- id="org.apache.ant.antdsl.AntDSL.refactoring"
+ category="org.apache.ant.antdsl.xtext.AntDSL"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
+ id="org.apache.ant.antdsl.xtext.AntDSL.refactoring"
name="Refactoring">
- <keywordReference id="org.apache.ant.antdsl.ui.keyword_AntDSL"/>
+ <keywordReference id="org.apache.ant.antdsl.xtext.ui.keyword_AntDSL"/>
</page>
</extension>
<extension point="org.eclipse.compare.contentViewers">
- <viewer id="org.apache.ant.antdsl.AntDSL.compare.contentViewers"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ <viewer id="org.apache.ant.antdsl.xtext.AntDSL.compare.contentViewers"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="ant">
</viewer>
</extension>
<extension point="org.eclipse.compare.contentMergeViewers">
- <viewer id="org.apache.ant.antdsl.AntDSL.compare.contentMergeViewers"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
+ <viewer id="org.apache.ant.antdsl.xtext.AntDSL.compare.contentMergeViewers"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="ant" label="AntDSL Compare">
</viewer>
</extension>
<extension point="org.eclipse.ui.editors.documentProviders">
- <provider id="org.apache.ant.antdsl.AntDSL.editors.documentProviders"
- class="org.apache.ant.antdsl.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
+ <provider id="org.apache.ant.antdsl.xtext.AntDSL.editors.documentProviders"
+ class="org.apache.ant.antdsl.xtext.ui.AntDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
extensions="ant">
</provider>
</extension>
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.classpath
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.classpath?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.launch/AntDSL.launch
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.launch/AntDSL.launch?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.launch/GenerateAntDSL.mwe2.launch
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/.launch/GenerateAntDSL.mwe2.launch?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/META-INF/MANIFEST.MF?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/META-INF/MANIFEST.MF (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/META-INF/MANIFEST.MF Tue Aug 21 17:48:14 2012
@@ -5,8 +5,8 @@ Bundle-Vendor: Apache Software Fundation
Bundle-Version: 1.0.0
Bundle-SymbolicName: org.apache.ant.antdsl; singleton:=true
Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext;bundle-version="2.1.0";visibility:=reexport,
- org.eclipse.xtext.xbase;bundle-version="2.1.0";resolution:=optional;visibility:=reexport,
+Require-Bundle: org.eclipse.xtext;bundle-version="2.3.1";visibility:=reexport,
+ org.eclipse.xtext.xbase;bundle-version="2.3.1";resolution:=optional;visibility:=reexport,
org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,
org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional;visibility:=reexport,
org.eclipse.xtext.generator;resolution:=optional,
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/plugin.xml
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/plugin.xml?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/plugin.xml (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/plugin.xml Tue Aug 21 17:48:14 2012
@@ -23,9 +23,9 @@
<extension point="org.eclipse.emf.ecore.generated_package">
<package
uri = "http://www.apache.org/ant/AntDSL"
- class = "org.apache.ant.antdsl.AntdslPackage"
- genModel = "org/apache/ant/antdsl/AntDSL.genmodel" />
-
+ class = "org.apache.ant.antdsl.xtext.antdsl.AntdslPackage"
+ genModel = "org/apache/ant/antdsl/xtext/AntDSL.genmodel" />
+
</extension>
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AbstractAntDslProjectHelper.java Tue Aug 21 17:48:14 2012
@@ -389,7 +389,7 @@ public abstract class AbstractAntDslProj
}
public UnknownElement mapUnknown(Project project, AntDslContext context, InnerElement innerElement, boolean innerUnknown) {
- RuntimeConfigurable parentWrapper = context.currentWrapper();
+ RuntimeConfigurable parentWrapper = (RuntimeConfigurable) context.currentWrapper();
Object parent = null;
if (parentWrapper != null) {
@@ -427,7 +427,7 @@ public abstract class AbstractAntDslProj
RuntimeConfigurable wrapper = new RuntimeConfigurable(element, element.getTaskName());
if (innerElement.attributes != null) {
- for (Entry<String, String> att : innerElement.attributes.entrySet()) {
+ for (Entry<String, AntExpression> att : innerElement.attributes.entrySet()) {
wrapper.setAttribute(att.getKey(), att.getValue());
}
}
@@ -485,7 +485,7 @@ public abstract class AbstractAntDslProj
public String name;
- public LinkedHashMap<String, String> attributes;
+ public LinkedHashMap<String, AntExpression> attributes;
public List<InnerElement> children;
}
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/AntDSL.g Tue Aug 21 17:48:14 2012
@@ -26,16 +26,13 @@ package org.apache.ant.antdsl.antlr;
import org.apache.ant.antdsl.*;
import org.apache.ant.antdsl.AbstractAntDslProjectHelper.InnerElement;
+import org.apache.ant.antdsl.FunctionDef.LocalProperty;
+import org.apache.ant.antdsl.FunctionDef.NestedSequential;
+import org.apache.ant.antdsl.FunctionDef.TemplateElement;
import org.apache.ant.antdsl.IfTask.ConditionnalSequential;
-import org.apache.ant.antdsl.Target;
-import org.apache.ant.antdsl.ExtensionPoint;
import org.apache.ant.antdsl.expr.*;
import org.apache.tools.ant.*;
import org.apache.tools.ant.taskdefs.*;
-import org.apache.tools.ant.taskdefs.MacroDef.Attribute;
-import org.apache.tools.ant.taskdefs.MacroDef.NestedSequential;
-import org.apache.tools.ant.taskdefs.MacroDef.TemplateElement;
-import org.apache.tools.ant.taskdefs.MacroDef.Text;
import org.apache.tools.ant.taskdefs.condition.*;
import java.util.LinkedHashMap;
}
@@ -72,7 +69,7 @@ project:
{ for (Task t : tl) { context.getImplicitTarget().addTask(t); } }
( target
| extensionPoint
- | macrodef
+ | funcdef
)*
;
@@ -126,13 +123,13 @@ nsName returns [Pair<String, String> ns
(n=identifier { ns.first = n; } ':')? n=identifier { ns.second = n; }
;
-arguments returns [LinkedHashMap<String, String> args = new LinkedHashMap<String, String>();]:
+arguments returns [LinkedHashMap<String, AntExpression> args = new LinkedHashMap<String, AntExpression>();]:
arg=argument { args.put(arg.first, arg.second); }
(',' arg=argument { args.put(arg.first, arg.second); } )*
;
-argument returns [Pair<String, String> arg = new Pair<String, String>()]:
- n=identifier { arg.first = n; } '=' v=stringLiteral { arg.second = v; }
+argument returns [Pair<String, AntExpression> arg = new Pair<String, AntExpression>()]:
+ n=identifier { arg.first = n; } '=' v=expr { arg.second = v; }
;
innerElements returns [List<InnerElement> ies = new ArrayList<InnerElement>()]:
@@ -188,56 +185,46 @@ conditionedTasks returns [ConditionnalSe
tl=taskList { for (Task t : tl) { seq.addTask(t); } }
;
-macrodef returns [MacroDef macroDef = new MacroDef()]:
- ( d=doc { macroDef.setDescription(d); } )?
- 'macrodef' n=identifier { macroDef.setName(n); }
- '(' ( atts=attributes
- { for (Object att : atts) {
- if (att instanceof Attribute) {
- macroDef.addConfiguredAttribute((Attribute) att);
- } else if (att instanceof Text) {
- macroDef.addConfiguredText((Text) att);
- } else if (att instanceof TemplateElement) {
- macroDef.addConfiguredElement((TemplateElement) att);
+funcdef returns [FunctionDef funcDef = new FunctionDef()]:
+ ( d=doc { funcDef.setDescription(d); } )?
+ 'function' n=identifier { funcDef.setName(n); }
+ '(' ( args=funcArguments
+ { for (Object arg : args) {
+ if (arg instanceof LocalProperty) {
+ funcDef.addConfiguredLocalProperty((LocalProperty) arg);
+ } else if (arg instanceof TemplateElement) {
+ funcDef.addConfiguredElement((TemplateElement) arg);
} else {
- throw new IllegalArgumentException("Unsupported macro attribute " + att.getClass().getName());
+ throw new IllegalArgumentException("Unsupported function argument " + arg.getClass().getName());
}
}
} )? ')'
tl=taskList
{
- NestedSequential seq = macroDef.createSequential();
+ NestedSequential seq = funcDef.createSequential();
for (Task t : tl) { seq.addTask(t); }
- macroDef.setProject(project);
- macroDef.execute();
+ funcDef.setProject(project);
+ funcDef.execute();
}
;
-attributes returns [List atts = new ArrayList()]:
- att=attribute { atts.add(att); }
- (',' att=attribute { atts.add(att); } )*
+funcArguments returns [List args = new ArrayList()]:
+ arg=funcArgument { args.add(arg); }
+ (',' arg=funcArgument { args.add(arg); } )*
;
-attribute returns [Object att]:
- aatt=argAttribute { att = aatt; }
- | tatt=textAttribute { att = tatt; }
- | eatt=elementAttribute { att = eatt; }
+funcArgument returns [Object arg]:
+ lparg=localPropFuncArgument { arg = lparg; }
+ | earg=elementFuncArgument { arg = earg; }
;
-argAttribute returns [Attribute att = new Attribute()]:
- 'arg'
- n=identifier { att.setName(n); }
- ('=' d=stringLiteral { att.setDefault(d); } )?
-;
-
-textAttribute returns [Text text = new Text()]:
- ('optional' { text.setOptional(true); } )?
- ('trimmed' { text.setTrim(true); } )?
- 'text'
- n=identifier { text.setName(n); }
+localPropFuncArgument returns [LocalProperty localProp = new LocalProperty()]:
+ 'local'
+ n=identifier { localProp.setName(n); }
+ ('=' d=expr { localProp.setDefault(d); } )?
;
-elementAttribute returns [TemplateElement element = new TemplateElement()]:
+elementFuncArgument returns [TemplateElement element = new TemplateElement()]:
('optional' { element.setOptional(true); } )?
('implicit' { element.setImplicit(true); } )?
'element'
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/expr/AntExpression.java
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/expr/AntExpression.java?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/expr/AntExpression.java (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/expr/AntExpression.java Tue Aug 21 17:48:14 2012
@@ -17,9 +17,10 @@
*/
package org.apache.ant.antdsl.expr;
+import org.apache.tools.ant.Evaluable;
import org.apache.tools.ant.Project;
-public abstract class AntExpression {
+public abstract class AntExpression implements Evaluable {
private Project project;
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDSL.xtext Tue Aug 21 17:48:14 2012
@@ -30,7 +30,7 @@ EProject:
)
('namespaces' '{' namespaces+=ENamespace* '}')?
tasks=ETaskLists?
- (targets+=ETarget | extensionPoints+=EExtensionPoint | macrodDefs+=EMacrodef)*
+ (targets+=ETarget | extensionPoints+=EExtensionPoint | functionDefs+=EFunctionDef)*
;
ENamespace:
@@ -79,7 +79,7 @@ EArguments:
;
EArgument:
- name=Identifier '=' value=StringLiteral
+ name=Identifier '=' value=EExpr
;
EInnerElements:
@@ -115,30 +115,26 @@ EConditionedTasks:
;
////////////////
-// Macro
+// Functions
////////////////
-EMacrodef:
- description=DOC? 'macrodef' name=Identifier '(' attributes=EAttributes? ')' tasks=ETaskLists
+EFunctionDef:
+ description=DOC? 'function' name=Identifier '(' arguments=EFuncArguments? ')' tasks=ETaskLists
;
-EAttributes:
- attributes+=EAttribute (',' attributes+=EAttribute)*
+EFuncArguments:
+ arguments+=EFuncArgument (',' arguments+=EFuncArgument)*
;
-EAttribute:
- EArgAttribute | ETextAttribute | EElementAttribute
+EFuncArgument:
+ ELocalPropertyFuncArgument | EElementFuncArgument
;
-EArgAttribute:
- 'arg' name=Identifier ('=' default=StringLiteral)?
+ELocalPropertyFuncArgument:
+ 'local' name=Identifier ('=' default=EExpr)?
;
-ETextAttribute:
- (optional ?= 'optional')? (trimmed ?= 'trimmed')? 'text' name=Identifier
-;
-
-EElementAttribute:
+EElementFuncArgument:
(optional ?= 'optional')? (implicit ?= 'implicit')? 'element' name=Identifier
;
Modified: ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java (original)
+++ ant/sandbox/antdsl/branches/import-experiment/org.apache.ant.antdsl/src/org/apache/ant/antdsl/xtext/AntDslXTextProjectHelper.java Tue Aug 21 17:48:14 2012
@@ -30,10 +30,12 @@ import org.apache.ant.antdsl.AntDslConte
import org.apache.ant.antdsl.AssignLocalTask;
import org.apache.ant.antdsl.AssignPropertyTask;
import org.apache.ant.antdsl.AssignReferenceTask;
-import org.apache.ant.antdsl.ExtensionPoint;
+import org.apache.ant.antdsl.FunctionDef;
+import org.apache.ant.antdsl.FunctionDef.LocalProperty;
+import org.apache.ant.antdsl.FunctionDef.NestedSequential;
+import org.apache.ant.antdsl.FunctionDef.TemplateElement;
import org.apache.ant.antdsl.IfTask;
import org.apache.ant.antdsl.IfTask.ConditionnalSequential;
-import org.apache.ant.antdsl.Target;
import org.apache.ant.antdsl.expr.AddAntExpression;
import org.apache.ant.antdsl.expr.AndAntExpression;
import org.apache.ant.antdsl.expr.AntExpression;
@@ -62,11 +64,8 @@ import org.apache.ant.antdsl.expr.Ternar
import org.apache.ant.antdsl.expr.VariableAntExpression;
import org.apache.ant.antdsl.xtext.antdsl.EAdditiveExpr;
import org.apache.ant.antdsl.xtext.antdsl.EAndExpr;
-import org.apache.ant.antdsl.xtext.antdsl.EArgAttribute;
import org.apache.ant.antdsl.xtext.antdsl.EArgument;
import org.apache.ant.antdsl.xtext.antdsl.EArguments;
-import org.apache.ant.antdsl.xtext.antdsl.EAttribute;
-import org.apache.ant.antdsl.xtext.antdsl.EAttributes;
import org.apache.ant.antdsl.xtext.antdsl.EBooleanLiteralExpr;
import org.apache.ant.antdsl.xtext.antdsl.EBranch;
import org.apache.ant.antdsl.xtext.antdsl.ECharacterLiteralExpr;
@@ -75,20 +74,23 @@ import org.apache.ant.antdsl.xtext.antds
import org.apache.ant.antdsl.xtext.antdsl.EConditionnalExclusiveOrExpr;
import org.apache.ant.antdsl.xtext.antdsl.EConditionnalInclusiveOrExpr;
import org.apache.ant.antdsl.xtext.antdsl.EDecimalLiteralExpr;
-import org.apache.ant.antdsl.xtext.antdsl.EElementAttribute;
+import org.apache.ant.antdsl.xtext.antdsl.EElementFuncArgument;
import org.apache.ant.antdsl.xtext.antdsl.EEqualityExpr;
import org.apache.ant.antdsl.xtext.antdsl.EExclusiveOrExpr;
import org.apache.ant.antdsl.xtext.antdsl.EExpr;
import org.apache.ant.antdsl.xtext.antdsl.EExtensionPoint;
import org.apache.ant.antdsl.xtext.antdsl.EFloatingPointLiteralExpr;
+import org.apache.ant.antdsl.xtext.antdsl.EFuncArgument;
+import org.apache.ant.antdsl.xtext.antdsl.EFuncArguments;
import org.apache.ant.antdsl.xtext.antdsl.EFuncExpr;
+import org.apache.ant.antdsl.xtext.antdsl.EFunctionDef;
import org.apache.ant.antdsl.xtext.antdsl.EHexLiteralExpr;
import org.apache.ant.antdsl.xtext.antdsl.EInclusiveOrExpr;
import org.apache.ant.antdsl.xtext.antdsl.EInnerElement;
import org.apache.ant.antdsl.xtext.antdsl.EInnerElements;
import org.apache.ant.antdsl.xtext.antdsl.EInstanceOfExpr;
import org.apache.ant.antdsl.xtext.antdsl.ELocalAssignment;
-import org.apache.ant.antdsl.xtext.antdsl.EMacrodef;
+import org.apache.ant.antdsl.xtext.antdsl.ELocalPropertyFuncArgument;
import org.apache.ant.antdsl.xtext.antdsl.EMultiplicativeExpr;
import org.apache.ant.antdsl.xtext.antdsl.ENamespace;
import org.apache.ant.antdsl.xtext.antdsl.ENullExpr;
@@ -104,17 +106,13 @@ import org.apache.ant.antdsl.xtext.antds
import org.apache.ant.antdsl.xtext.antdsl.ETask;
import org.apache.ant.antdsl.xtext.antdsl.ETaskLists;
import org.apache.ant.antdsl.xtext.antdsl.ETernaryExpr;
-import org.apache.ant.antdsl.xtext.antdsl.ETextAttribute;
import org.apache.ant.antdsl.xtext.antdsl.EUnaryExpr;
import org.apache.ant.antdsl.xtext.antdsl.EVariableExpr;
import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.ExtensionPoint;
import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Target;
import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.MacroDef;
-import org.apache.tools.ant.taskdefs.MacroDef.Attribute;
-import org.apache.tools.ant.taskdefs.MacroDef.NestedSequential;
-import org.apache.tools.ant.taskdefs.MacroDef.TemplateElement;
-import org.apache.tools.ant.taskdefs.MacroDef.Text;
import org.apache.tools.ant.taskdefs.Sequential;
import org.apache.tools.ant.taskdefs.condition.And;
import org.apache.tools.ant.taskdefs.condition.Not;
@@ -171,10 +169,10 @@ public class AntDslXTextProjectHelper ex
}
}
- EList<EMacrodef> macros = eProject.getMacrodDefs();
- if (macros != null) {
- for (EMacrodef macro : macros) {
- mapMacro(project, context, macro);
+ EList<EFunctionDef> efuncs = eProject.getFunctionDefs();
+ if (efuncs != null) {
+ for (EFunctionDef efunc : efuncs) {
+ mapFunction(project, context, efunc);
}
}
ETaskLists tasks = eProject.getTasks();
@@ -191,47 +189,40 @@ public class AntDslXTextProjectHelper ex
}
}
- private void mapMacro(Project project, AntDslContext context, EMacrodef emacro) {
- MacroDef macroDef = new MacroDef();
- macroDef.setDescription(emacro.getDescription());
- macroDef.setName(readIdentifier(emacro.getName()));
- EAttributes eatts = emacro.getAttributes();
- if (eatts != null) {
- for (EAttribute eatt : eatts.getAttributes()) {
- if (eatt instanceof EArgAttribute) {
- EArgAttribute eargatt = (EArgAttribute) eatt;
- Attribute att = new Attribute();
- att.setName(readIdentifier(eargatt.getName()));
- att.setDefault(readString(eargatt.getDefault()));
- macroDef.addConfiguredAttribute(att);
- } else if (eatt instanceof ETextAttribute) {
- ETextAttribute etextatt = (ETextAttribute) eatt;
- Text text = new Text();
- text.setName(readIdentifier(etextatt.getName()));
- text.setTrim(etextatt.isTrimmed());
- text.setOptional(etextatt.isOptional());
- macroDef.addConfiguredText(text);
- } else if (eatt instanceof EElementAttribute) {
- EElementAttribute eelematt = (EElementAttribute) eatt;
+ private void mapFunction(Project project, AntDslContext context, EFunctionDef efunc) {
+ FunctionDef funcDef = new FunctionDef();
+ funcDef.setDescription(efunc.getDescription());
+ funcDef.setName(readIdentifier(efunc.getName()));
+ EFuncArguments eargs = efunc.getArguments();
+ if (eargs != null) {
+ for (EFuncArgument earg : eargs.getArguments()) {
+ if (earg instanceof ELocalPropertyFuncArgument) {
+ ELocalPropertyFuncArgument elocalpropatt = (ELocalPropertyFuncArgument) earg;
+ LocalProperty localProp = new LocalProperty();
+ localProp.setName(readIdentifier(elocalpropatt.getName()));
+ localProp.setDefault(mapExpr(project, context, elocalpropatt.getDefault()));
+ funcDef.addConfiguredLocalProperty(localProp);
+ } else if (earg instanceof EElementFuncArgument) {
+ EElementFuncArgument eelemarg = (EElementFuncArgument) earg;
TemplateElement element = new TemplateElement();
- element.setImplicit(eelematt.isImplicit());
- element.setOptional(eelematt.isOptional());
- element.setName(readIdentifier(eelematt.getName()));
- macroDef.addConfiguredElement(element);
+ element.setImplicit(eelemarg.isImplicit());
+ element.setOptional(eelemarg.isOptional());
+ element.setName(readIdentifier(eelemarg.getName()));
+ funcDef.addConfiguredElement(element);
} else {
- throw new IllegalArgumentException("Unsupported macro attribute " + eatt.getClass().getName());
+ throw new IllegalArgumentException("Unsupported function argument " + earg.getClass().getName());
}
}
}
- ETaskLists etasks = emacro.getTasks();
+ ETaskLists etasks = efunc.getTasks();
if (etasks != null) {
- NestedSequential seq = macroDef.createSequential();
+ NestedSequential seq = funcDef.createSequential();
for (ETask etask : etasks.getTasks()) {
seq.addTask(mapTask(project, context, etask));
}
}
- macroDef.setProject(project);
- macroDef.execute();
+ funcDef.setProject(project);
+ funcDef.execute();
}
private Target mapTarget(Project project, AntDslContext context, ETarget eTarget) {
@@ -300,7 +291,7 @@ public class AntDslXTextProjectHelper ex
}
if (eTask instanceof EInnerElement) {
EInnerElement eInnerElement = (EInnerElement) eTask;
- return mapUnknown(project, context, mapInnerElement(eInnerElement), false);
+ return mapUnknown(project, context, mapInnerElement(project, context, eInnerElement), false);
}
if (eTask instanceof EBranch) {
EBranch eBranch = (EBranch) eTask;
@@ -342,7 +333,7 @@ public class AntDslXTextProjectHelper ex
throw new IllegalStateException("Unknown task type " + eTask.getClass().getName());
}
- private InnerElement mapInnerElement(EInnerElement eInnerElement) {
+ private InnerElement mapInnerElement(Project project, AntDslContext context, EInnerElement eInnerElement) {
if (eInnerElement == null) {
return null;
}
@@ -352,9 +343,9 @@ public class AntDslXTextProjectHelper ex
EArguments arguments = eInnerElement.getArguments();
if (arguments != null) {
- innerElement.attributes = new LinkedHashMap<String, String>();
+ innerElement.attributes = new LinkedHashMap<String, AntExpression>();
for (EArgument argument : arguments.getArguments()) {
- innerElement.attributes.put(readIdentifier(argument.getName()), readString(argument.getValue()));
+ innerElement.attributes.put(readIdentifier(argument.getName()), mapExpr(project, context, argument.getValue()));
}
}
@@ -362,7 +353,7 @@ public class AntDslXTextProjectHelper ex
if (inners != null) {
innerElement.children = new ArrayList<InnerElement>();
for (EInnerElement inner : inners.getElements()) {
- innerElement.children.add(mapInnerElement(inner));
+ innerElement.children.add(mapInnerElement(project, context, inner));
}
}
@@ -596,7 +587,7 @@ public class AntDslXTextProjectHelper ex
}
if (eexpr instanceof EInnerElement) {
EInnerElement elemExpr = (EInnerElement) eexpr;
- return mapCallAntExpression(project, context, mapInnerElement(elemExpr));
+ return mapCallAntExpression(project, context, mapInnerElement(project, context, elemExpr));
}
if (eexpr instanceof EHexLiteralExpr) {
EHexLiteralExpr eint = (EHexLiteralExpr) eexpr;
Modified: ant/sandbox/antdsl/branches/import-experiment/test/build.ant
URL: http://svn.apache.org/viewvc/ant/sandbox/antdsl/branches/import-experiment/test/build.ant?rev=1375694&r1=1375693&r2=1375694&view=diff
==============================================================================
--- ant/sandbox/antdsl/branches/import-experiment/test/build.ant (original)
+++ ant/sandbox/antdsl/branches/import-experiment/test/build.ant Tue Aug 21 17:48:14 2012
@@ -7,18 +7,18 @@ namespaces {
{
prop foo = "hello world!"
- echo(message="${foo}")
+ echo(message = ${foo})
}
-# Some documentation of the macro
-macrodef mymacro(arg t = "mymacro")
+# Some documentation of the function
+function myfunction(local t = "myfunction")
{
- echo(message = "@{t}")
+ echo(message = ${t})
}
-macrodef mymacro2(arg dest, implicit element source)
+function myfunction2(local dest, implicit element source)
{
- copy(todir = "@{dest}" {
+ copy(todir = ${dest}, {
source()
})
}
@@ -38,19 +38,19 @@ target notexecuted
target build
depends dep, notexecuted
{
- copy(file = "${basedir}/test/build.ant", tofile = "${basedir}/build/test/build.ant.copy")
+ copy(file = ${basedir} + "/test/build.ant", tofile = ${basedir} + "/build/test/build.ant.copy")
// some comment
- jar(file = "${basedir}/build/test/my.jar" {
- fileset(dir="${basedir}/test", includes="*.ant")
+ jar(file = ${basedir} + "/build/test/my.jar" {
+ fileset(dir = ${basedir} + "/test", includes = "*.ant")
})
- mymacro()
- mymacro(t = "simple macro")
+ myfunction()
+ myfunction(t = "simple function")
/*
* Some multiline comment
*/
- if (available(file = "${basedir}/test/build.ant")) {
- mymacro2(dest = "${basedir}/build/test/dest", {
- fileset(dir = "${basedir}", includes="build.*")
+ if (available(file = ${basedir} + "/test/build.ant")) {
+ myfunction2(dest = ${basedir} + "/build/test/dest", {
+ fileset(dir = ${basedir}, includes = "build.*")
})
} else {
fail(message = "fail !")
@@ -65,7 +65,8 @@ target build
echo(message = "test encoding\nline")
local test = "hello" + ' ' + "world !"
- echo(message = "${test}")
+ echo(message = ${test})
local test2 = ((12345 + 6789) % 98765 == 12.4f)
- echo(message = "${test2}")
+ echo(message = ${test2})
+ echo(message = eval("${test2}"))
}