[Yanel-commits] rev 32394 - public/yanel/trunk/src/build/targets
michi at wyona.com
michi at wyona.com
Sun Feb 24 22:37:45 CET 2008
Author: michi
Date: 2008-02-24 22:37:45 +0100 (Sun, 24 Feb 2008)
New Revision: 32394
Modified:
public/yanel/trunk/src/build/targets/create-new-resource-type.xml
Log:
template moved
Modified: public/yanel/trunk/src/build/targets/create-new-resource-type.xml
===================================================================
--- public/yanel/trunk/src/build/targets/create-new-resource-type.xml 2008-02-24 21:37:29 UTC (rev 32393)
+++ public/yanel/trunk/src/build/targets/create-new-resource-type.xml 2008-02-24 21:37:45 UTC (rev 32394)
@@ -5,7 +5,7 @@
<description>Create new resource-type</description>
<target name="new-resource-type" description="Create a new resource-type" depends="init">
- <echo>Create new resource-type from scratch ${yanel.home.dir}/src/resources/from-scratch-resource-template</echo>
+ <echo>Create new resource-type from scratch ${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template</echo>
<input message="Please enter the resource-type name (e.g. calendar):" defaultvalue="null" addproperty="new.resource.name"/>
<input message="Please enter the namespace of this new resource-type (e.g. http://foo.bar/yanel/resource/1.0):" defaultvalue="null" addproperty="new.resource.namespace"/>
@@ -14,8 +14,6 @@
<input message="Please enter java class name of this resource-type (e.g. CalendarResource):" defaultvalue="null" addproperty="new.resource.java.class.name"/>
<input message="Please enter from what template you want to build your java class: " defaultvalue="empty" validargs="empty,xml,usecase,examples" addproperty="new.resource.java.class.template"/>
- <!-- TODO: Generate this path from package and class name! -->
- <!-- <input message="Please enter java class filesystem path of this resource-type (e.g. org/wyona/yanel/impl/resources/CalendarResource.java):" defaultvalue="null" addproperty="new.resource.java.class.fs.path"/> -->
<propertyregex property="new.resource.java.class.fs.path"
input="${new.resource.java.class.package}"
regexp="[.]"
@@ -24,16 +22,16 @@
casesensitive="false" />
<property name="new.resource.java.class.fs.path.full" value="${new.resource.java.class.fs.path}/${new.resource.java.class.name}.java"/>
+ <property name="new.resource.test.java.class.fs.path.full" value="${new.resource.java.class.fs.path}/${new.resource.java.class.name}Test.java"/>
+ <property name="new.resource.webtest.java.class.fs.path.full" value="${new.resource.java.class.fs.path}/${new.resource.java.class.name}WebTest.java"/>
<property name="new.resource.java.class.location" location="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/java/${new.resource.java.class.fs.path.full}"/>
+ <property name="new.resource.test.java.class.location" location="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/test/junit/${new.resource.test.java.class.fs.path.full}"/>
+ <property name="new.resource.webtest.java.class.location" location="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/test/htmlunit/${new.resource.webtest.java.class.fs.path.full}"/>
<property name="new.resource.java.class" value="${new.resource.java.class.package}.${new.resource.java.class.name}"/>
- <echo>test: ${new.resource.java.class.location}</echo>
- <echo>test: ${new.resource.java.class}</echo>
-
-
<copy todir="${yanel.home.dir}/src/contributions/resources/${new.resource.name}">
- <fileset dir="${yanel.home.dir}/src/resources/from-scratch-resource-template" excludes="build/**,src/java/**,interfaces/**,src/build/dependencies**"/>
+ <fileset dir="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template" excludes="build/**,src/java/**,src/test/**,interfaces/**,src/build/dependencies**,examples/**"/>
</copy>
<!-- Patch resource.xml -->
@@ -75,17 +73,34 @@
<equals arg1="${new.resource.java.class.template}" arg2="empty" />
<then>
<echo message="Based on template empty" />
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-empty.java" tofile="${new.resource.java.class.location}"/>
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/build/dependencies.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-empty.java" tofile="${new.resource.java.class.location}"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/test/junit/bar/foo/yanel/impl/resources/FromScratchResourceTest.java" tofile="${new.resource.test.java.class.location}"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/test/htmlunit/bar/foo/yanel/impl/resources/FromScratchResourceWebTest.java" tofile="${new.resource.webtest.java.class.location}"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/build/dependencies-with-javax.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml"/>
<replace file="${new.resource.java.class.location}" value="${new.resource.java.class.name}">
<replacetoken>FromScratchResource</replacetoken>
</replace>
+ <replace file="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml" value="${new.resource.name}">
+ <replacetoken>FromScratchResource</replacetoken>
+ </replace>
+ <replace file="${new.resource.test.java.class.location}" value="${new.resource.java.class.name}">
+ <replacetoken>@RESOURCE_NAME@</replacetoken>
+ </replace>
+ <replace file="${new.resource.test.java.class.location}" value="${new.resource.java.class.package}.">
+ <replacetoken>@RESOURCE_PACKAGE_NAME@</replacetoken>
+ </replace>
+ <replace file="${new.resource.webtest.java.class.location}" value="${new.resource.java.class.name}">
+ <replacetoken>@RESOURCE_NAME@</replacetoken>
+ </replace>
<replace file="${new.resource.java.class.location}" value="${new.resource.java.class.package}">
<replacetoken>bar.foo.yanel.impl.resources</replacetoken>
</replace>
- <replace file="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml" value="${new.resource.name}">
- <replacetoken>FromScratchResource</replacetoken>
+ <replace file="${new.resource.test.java.class.location}" value="${new.resource.java.class.package}">
+ <replacetoken>bar.foo.yanel.impl.resources</replacetoken>
</replace>
+ <replace file="${new.resource.webtest.java.class.location}" value="${new.resource.java.class.package}">
+ <replacetoken>bar.foo.yanel.impl.resources</replacetoken>
+ </replace>
<input message="Do you want to imlement some yanel interface :(yes/NO)" defaultvalue="null" addproperty="new.resource.java.interface.do.implement"/>
<if>
@@ -93,7 +108,7 @@
<then>
<for param="file">
<path>
- <dirset dir="${yanel.home.dir}/src/resources/from-scratch-resource-template/interfaces/" includes="*/**"/>
+ <dirset dir="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/interfaces/" includes="*/**"/>
</path>
<sequential>
<propertyregex override="yes"
@@ -143,10 +158,29 @@
<if>
<equals arg1="${new.resource.java.class.template}" arg2="examples" />
<then>
- <!--TODO: add some more examples and another input asking for which example -->
- <echo message="Based on template text (the only example so far)" />
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-text.java" tofile="${new.resource.java.class.location}"/>
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/build/dependencies.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml"/>
+ <var name="new.resource.example.names" value=""/>
+ <for param="file">
+ <path>
+ <dirset dir="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/examples/" includes="*/**"/>
+ </path>
+ <sequential>
+ <propertyregex override="yes"
+ property="new.resource.example.name" input="@{file}"
+ regexp=".*/([^\.]*)" replace="\1"/>
+ <var name="new.resource.example.names" value="${new.resource.example.names}${new.resource.example.name},"/>
+ </sequential>
+ </for>
+ <!-- removes the last colon -->
+ <propertyregex override="yes"
+ property="new.resource.example.names" input="${new.resource.example.names}"
+ regexp="(.*,.*\b)(,)" replace="\1"/>
+ <echo>${new.resource.example.names}</echo>
+ <input message="Which example you want to use?: " validargs="${new.resource.example.names}" addproperty="new.resource.java.example.implement"/>
+ <echo>${new.resource.java.example.implement}</echo>
+
+ <echo>Creating resource based on template ${new.resource.java.example.implement}</echo>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/examples/${new.resource.java.example.implement}/FromScratchResource.java" tofile="${new.resource.java.class.location}"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/examples/${new.resource.java.example.implement}/dependencies.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml"/>
<replace file="${new.resource.java.class.location}" value="${new.resource.java.class.name}">
<replacetoken>FromScratchResource</replacetoken>
</replace>
@@ -162,8 +196,8 @@
<equals arg1="${new.resource.java.class.template}" arg2="xml" />
<then>
<echo message="Based on template xml" />
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-xml.java" tofile="${new.resource.java.class.location}"/>
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/build/dependencies-with-yanel-impl.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml" overwrite="true"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-xml.java" tofile="${new.resource.java.class.location}"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/build/dependencies-with-yanel-impl.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml" overwrite="true"/>
<replace file="${new.resource.java.class.location}" value="${new.resource.java.class.name}">
<replacetoken>FromScratchResource</replacetoken>
</replace>
@@ -179,8 +213,8 @@
<equals arg1="${new.resource.java.class.template}" arg2="usecase" />
<then>
<echo message="Based on template usecase" />
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-usecase.java" tofile="${new.resource.java.class.location}"/>
- <copy file="${yanel.home.dir}/src/resources/from-scratch-resource-template/src/build/dependencies-with-yanel-impl.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml" overwrite="true"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/java/bar/foo/yanel/impl/resources/FromScratchResource-usecase.java" tofile="${new.resource.java.class.location}"/>
+ <copy file="${yanel.home.dir}/src/build/targets/create-new-resource-type/from-scratch-resource-template/src/build/dependencies-with-yanel-impl.xml" tofile="${yanel.home.dir}/src/contributions/resources/${new.resource.name}/src/build/dependencies.xml" overwrite="true"/>
<replace file="${new.resource.java.class.location}" value="${new.resource.java.class.name}">
<replacetoken>FromScratchResource</replacetoken>
</replace>
More information about the Yanel-commits
mailing list