Standalone ANT-Ivy works with both XML and EMF models
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/.gitignore b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/.gitignore
index e0b84c7..b3f6993 100644
--- a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/.gitignore
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/.gitignore
@@ -1 +1,2 @@
-ivy
\ No newline at end of file
+ivy
+lib
\ No newline at end of file
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/build.xml b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/build.xml
index 4c83f65..b2c3cb5 100644
--- a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/build.xml
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/build.xml
@@ -6,8 +6,14 @@
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/>
<target name="go" depends="install-epsilon">
+ <epsilon.emf.loadModel name="Library" modelfile="library.model" metamodelfile="library.ecore"/>
+ <epsilon.xml.loadModel name="Tree" file="tree.xml"/>
+
<epsilon.eol>
- "Hello Epsilon!".println();
+ Tree!t_tree.all.println();
+ Library!Writer.all.println();
+ <model ref="Tree"/>
+ <model ref="Library"/>
</epsilon.eol>
</target>
@@ -26,15 +32,43 @@
</target>
<target name="install-epsilon" depends="install-ivy">
- <ivy:cleancache/>
+ <!--ivy:cleancache/-->
<ivy:settings file="ivysettings.xml" />
- <ivy:cachepath organisation="org.eclipse.epsilon" module="org.eclipse.epsilon.workflow" revision="${epsilon.version}"
- pathid="lib.path.id" inline="true"/>
- <taskdef classpathref="lib.path.id" resource="org/eclipse/epsilon/workflow/tasks/tasks.xml"/>
- <!--ivy:cachepath organisation="org.eclipse.epsilon" module="org.eclipse.epsilon.workflow.emf" revision="${epsilon.version}"
+ <!--ivy:cachepath organisation="org.eclipse.epsilon" module="org.eclipse.epsilon.workflow" revision="${epsilon.version}"
pathid="lib.path.id" inline="true"/-->
-
+
+ <ivy:retrieve conf="binaries" pattern="lib/[conf]/[artifact](-[classifier]).[ext]"/>
+
+ <path id="lib.path">
+ <fileset dir="lib/binaries" includes="*.jar"/>
+ </path>
+
+ <!--taskdef resource="org/eclipse/epsilon/workflow/tasks/tasks.xml" classpathref="lib.path" loaderref="lib.path.loader"/-->
+
+ <taskdef name="epsilon.eol" classname="org.eclipse.epsilon.workflow.tasks.EolTask" classpathref="lib.path" loaderref="lib.path.loader"/>
+ <taskdef name="epsilon.xml.loadModel" classname="org.eclipse.epsilon.workflow.tasks.xml.LoadXmlModel" classpathref="lib.path" loaderref="lib.path.loader"/>
+ <taskdef name="epsilon.emf.loadModel" classname="org.eclipse.epsilon.workflow.tasks.emf.LoadEmfModelTask" classpathref="lib.path" loaderref="lib.path.loader"/>
+ <!--taskdef name="epsilon.emf.loadRegisteredMetamodel" classname="org.eclipse.epsilon.workflow.tasks.emf.LoadRegisteredMetaModelTask" classpathref="lib.path.id"/>
+ <taskdef name="epsilon.emf.loadXmlModel" classname="org.eclipse.epsilon.workflow.tasks.emf.LoadXmlModelTask" classpathref="lib.path.id"/-->
+
+ <!--ivy:cachepath organisation="org.eclipse.epsilon" module="org.eclipse.epsilon.workflow" revision="${epsilon.version}" pathid="lib.path.id" inline="true"/>
+
+ <taskdef classpathref="lib.path.id" resource="org/eclipse/epsilon/workflow/tasks/tasks.xml"/-->
+
+
+ <!--
+ <ivy:cachepath organisation="org.eclipse.epsilon" module="org.eclipse.epsilon.workflow.emf" revision="${epsilon.version}"
+ pathid="lib.path.id" inline="true"/>
+
+ <taskdef name="epsilon.eol" classname="org.eclipse.epsilon.workflow.tasks.EolTask" classpathref="lib.path.id"/>
+ <taskdef name="epsilon.xml.loadModel" classname="org.eclipse.epsilon.workflow.tasks.xml.LoadXmlModel" classpathref="lib.path.id"/>
+
+ <taskdef name="epsilon.emf.loadModel" classname="org.eclipse.epsilon.workflow.tasks.emf.LoadEmfModelTask" classpathref="lib.path.id"/>
+ <taskdef name="epsilon.emf.loadRegisteredMetamodel" classname="org.eclipse.epsilon.workflow.tasks.emf.LoadRegisteredMetaModelTask" classpathref="lib.path.id"/>
+ <taskdef name="epsilon.emf.loadXmlModel" classname="org.eclipse.epsilon.workflow.tasks.emf.LoadXmlModelTask" classpathref="lib.path.id"/>
+ -->
+
</target>
</project>
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/ivy.xml b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/ivy.xml
new file mode 100644
index 0000000..1e301ef
--- /dev/null
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/ivy.xml
@@ -0,0 +1,10 @@
+<ivy-module version="2.0">
+ <info organisation="" module="" />
+ <configurations>
+ <conf name="binaries" />
+ </configurations>
+ <dependencies>
+ <!--dependency org="org.eclipse.epsilon" name="org.eclipse.epsilon.workflow" rev="2.3.0-SNAPSOT" conf="binaries->default" /-->
+ <dependency org="org.eclipse.epsilon" name="org.eclipse.epsilon.workflow.emf" rev="2.3.0-SNAPSHOT" conf="binaries->default" />
+ </dependencies>
+</ivy-module>
\ No newline at end of file
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.ecore b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.ecore
new file mode 100644
index 0000000..297a323
--- /dev/null
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.ecore
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="library" nsURI="library" nsPrefix="">
+ <eClassifiers xsi:type="ecore:EClass" name="Library">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1"
+ eType="#//Writer" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//Book" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Writer">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
+ eType="#//Book" eOpposite="#//Book/author"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Book">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="100"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="#//BookCategory"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1"
+ eType="#//Writer" eOpposite="#//Writer/books"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="BookCategory">
+ <eLiterals name="Mystery"/>
+ <eLiterals name="ScienceFiction" value="1"/>
+ <eLiterals name="Biography" value="2"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.emf b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.emf
new file mode 100644
index 0000000..82d6c8c
--- /dev/null
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.emf
@@ -0,0 +1,25 @@
+@namespace(uri="library", prefix="")
+package library;
+
+class Library {
+ val Writer[*] writers;
+ val Book[*] books;
+}
+
+class Writer {
+ attr String name;
+ ref Book[*]#author books;
+}
+
+class Book {
+ attr String title;
+ attr int pages = 100;
+ attr BookCategory category;
+ ref Writer[1]#books author;
+}
+
+enum BookCategory {
+ Mystery;
+ ScienceFiction;
+ Biography;
+}
\ No newline at end of file
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.model b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.model
new file mode 100644
index 0000000..bddc1ba
--- /dev/null
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/library.model
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ASCII"?>
+<Library xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="library" xmi:id="_A1Jr8EpMEeOg99lxwZeUmQ">
+ <writers xmi:id="_QF9jkEpMEeOg99lxwZeUmQ" name="Agatha Christie" books="_CAePkEpMEeOg99lxwZeUmQ"/>
+ <books xmi:id="_CAePkEpMEeOg99lxwZeUmQ" title="Endless Night" pages="224" author="_QF9jkEpMEeOg99lxwZeUmQ"/>
+</Library>
diff --git a/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/tree.xml b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/tree.xml
new file mode 100644
index 0000000..7770cfe
--- /dev/null
+++ b/examples/org.eclipse.epsilon.examples.workflow.standalone.ivy/tree.xml
@@ -0,0 +1 @@
+<tree/>
\ No newline at end of file