svn commit: r1800073 - /ofbiz/ofbiz-framework/trunk/build.gradle

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1800073 - /ofbiz/ofbiz-framework/trunk/build.gradle

Taher Alkhateeb
Author: taher
Date: Tue Jun 27 15:39:34 2017
New Revision: 1800073

URL: http://svn.apache.org/viewvc?rev=1800073&view=rev
Log:
Improved: refactored and improved the createPlugin task in gradle script
(OFBIZ-9436)

Applied the following changes:

- reduced the copy-paste pattern in creating the directory structure for a
  new component by converting the mkdir logic into a loop over a list of the
  directory names
- reduced the copy-paste pattern in creating the files from their templates
  by converting the calls to the generator function to a loop over a list
  of maps containing the arguments to the generator function
- added missing src/java/main and src/java/test
- removed duplicate / redundant directories as creating child directory
  automatically creates the parent

Modified:
    ofbiz/ofbiz-framework/trunk/build.gradle

Modified: ofbiz/ofbiz-framework/trunk/build.gradle
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/build.gradle?rev=1800073&r1=1800072&r2=1800073&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/build.gradle (original)
+++ ofbiz/ofbiz-framework/trunk/build.gradle Tue Jun 27 15:39:34 2017
@@ -577,69 +577,37 @@ task createPlugin(group: ofbizPlugin, de
         def templateDir = "${rootDir}/framework/resources/templates"
         def pluginDir = "${pluginsDir}/${pluginId}"
 
-        mkdir pluginDir
-        mkdir pluginDir+"/config"
-        mkdir pluginDir+"/data"
-        mkdir pluginDir+"/data/helpdata"
-        mkdir pluginDir+"/dtd"
-        mkdir pluginDir+"/documents"
-        mkdir pluginDir+"/entitydef"
-        mkdir pluginDir+"/lib"
-        mkdir pluginDir+"/patches"
-        mkdir pluginDir+"/patches/test"
-        mkdir pluginDir+"/patches/qa"
-        mkdir pluginDir+"/patches/production"
-        mkdir pluginDir+"/script"
-        mkdir pluginDir+"/servicedef"
-        mkdir pluginDir+"/src"
-        mkdir pluginDir+"/testdef"
-        mkdir pluginDir+"/webapp"
-        mkdir pluginDir+"/webapp/${webappName}"
-        mkdir pluginDir+"/webapp/${webappName}/error"
-        mkdir pluginDir+"/webapp/${webappName}/WEB-INF"
-        mkdir pluginDir+"/webapp/${webappName}/WEB-INF/actions"
-        mkdir pluginDir+"/widget/"
+        ['config', 'data/helpdata', 'dtd', 'documents', 'entitydef', 'lib', 'patches/test', 'patches/qa',
+                'patches/production', 'script', 'servicedef', 'src/main/java', 'src/test/java', 'testdef',
+                'widget', "webapp/${webappName}/error", "webapp/${webappName}/WEB-INF",
+                "webapp/${webappName}/WEB-INF/actions"].each {
+            mkdir pluginDir+'/'+it
+        }
 
-        generateFileFromTemplate(templateDir+"/ofbiz-component.xml", pluginDir,
-            filterTokens, "ofbiz-component.xml")
-        generateFileFromTemplate(templateDir+"/TypeData.xml", pluginDir+"/data",
-            filterTokens, "${pluginResourceName}TypeData.xml")
-        generateFileFromTemplate(templateDir+"/SecurityPermissionSeedData.xml", pluginDir+"/data",
-            filterTokens, "${pluginResourceName}SecurityPermissionSeedData.xml")
-        generateFileFromTemplate(templateDir+"/SecurityGroupDemoData.xml", pluginDir+"/data",
-            filterTokens, "${pluginResourceName}SecurityGroupDemoData.xml")
-        generateFileFromTemplate(templateDir+"/DemoData.xml", pluginDir+"/data",
-            filterTokens, "${pluginResourceName}DemoData.xml")
-        generateFileFromTemplate(templateDir+"/HELP.xml", pluginDir+"/data/helpdata",
-            filterTokens, "HELP_${pluginResourceName}.xml")
-        generateFileFromTemplate(templateDir+"/document.xml", pluginDir+"/documents",
-            filterTokens, "${pluginResourceName}.xml")
-        generateFileFromTemplate(templateDir+"/entitymodel.xml", pluginDir+"/entitydef",
-            filterTokens, "entitymodel.xml")
-        generateFileFromTemplate(templateDir+"/services.xml", pluginDir+"/servicedef",
-            filterTokens, "services.xml")
-        generateFileFromTemplate(templateDir+"/Tests.xml", pluginDir+"/testdef",
-            filterTokens, "${pluginResourceName}Tests.xml")
-        generateFileFromTemplate(templateDir+"/UiLabels.xml", pluginDir+"/config",
-            filterTokens, "${pluginResourceName}UiLabels.xml")
-        generateFileFromTemplate(templateDir+"/index.jsp", pluginDir+"/webapp/${webappName}",
-            filterTokens, "index.jsp")
-        generateFileFromTemplate(templateDir+"/error.jsp", pluginDir+"/webapp/${webappName}/error",
-            filterTokens, "error.jsp")
-        generateFileFromTemplate(templateDir+"/controller.xml", pluginDir+"/webapp/${webappName}/WEB-INF",
-            filterTokens, "controller.xml")
-        generateFileFromTemplate(templateDir+"/web.xml", pluginDir+"/webapp/${webappName}/WEB-INF",
-            filterTokens, "web.xml")
-        generateFileFromTemplate(templateDir+"/CommonScreens.xml", pluginDir+"/widget",
-            filterTokens, "CommonScreens.xml")
-        generateFileFromTemplate(templateDir+"/Screens.xml", pluginDir+"/widget",
-            filterTokens, "${pluginResourceName}Screens.xml")
-        generateFileFromTemplate(templateDir+"/Menus.xml", pluginDir+"/widget",
-            filterTokens, "${pluginResourceName}Menus.xml")
-        generateFileFromTemplate(templateDir+"/Forms.xml", pluginDir+"/widget",
-            filterTokens, "${pluginResourceName}Forms.xml")
-        generateFileFromTemplate(templateDir+"/build.gradle", pluginDir,
-            filterTokens, "build.gradle")
+        [   [tempName:'ofbiz-component.xml', newName:'ofbiz-component.xml', location:''],
+            [tempName:'build.gradle', newName:'build.gradle', location:''],
+            [tempName:'TypeData.xml', newName:"${pluginResourceName}TypeData.xml", location:'data'],
+            [tempName:'SecurityPermissionSeedData.xml', newName:"${pluginResourceName}SecurityPermissionSeedData.xml", location:'data'],
+            [tempName:'SecurityGroupDemoData.xml', newName:"${pluginResourceName}SecurityGroupDemoData.xml", location:'data'],
+            [tempName:'DemoData.xml', newName:"${pluginResourceName}DemoData.xml", location:'data'],
+            [tempName:'HELP.xml', newName:"HELP_${pluginResourceName}.xml", location:'data/helpdata'],
+            [tempName:'document.xml', newName:"${pluginResourceName}.xml", location:'documents'],
+            [tempName:'entitymodel.xml', newName:'entitymodel.xml', location:'entitydef'],
+            [tempName:'services.xml', newName:'services.xml', location:'servicedef'],
+            [tempName:'Tests.xml', newName:"${pluginResourceName}Tests.xml", location:'testdef'],
+            [tempName:'UiLabels.xml', newName:"${pluginResourceName}UiLabels.xml", location:'config'],
+            [tempName:'index.jsp', newName:'index.jsp', location:"webapp/${webappName}"],
+            [tempName:'error.jsp', newName:'error.jsp', location:"webapp/${webappName}/error"],
+            [tempName:'controller.xml', newName:'controller.xml', location:"webapp/${webappName}/WEB-INF"],
+            [tempName:'web.xml', newName:'web.xml', location:"webapp/${webappName}/WEB-INF"],
+            [tempName:'CommonScreens.xml', newName:'CommonScreens.xml', location:'widget'],
+            [tempName:'Screens.xml', newName:"${pluginResourceName}Screens.xml", location:'widget'],
+            [tempName:'Menus.xml', newName:"${pluginResourceName}Menus.xml", location:'widget'],
+            [tempName:'Forms.xml', newName:"${pluginResourceName}Forms.xml", location:'widget']
+        ].each { tmpl ->
+            generateFileFromTemplate(templateDir + '/' + tmpl.tempName,
+                pluginDir + '/' + tmpl.location, filterTokens, tmpl.newName)
+        }
 
         println "plugin successfully created in directory ${pluginsDir}/${pluginId}."
     }