[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