This is an automated email from the ASF dual-hosted git repository.

jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new bdbc08a4c2 Fixed: Replace SvnCheckout in Gradle (OFBIZ-12868)
bdbc08a4c2 is described below

commit bdbc08a4c2d91e11fae583655611ad84fa1f6c67
Author: Jacques Le Roux <jacques.le.r...@les7arts.com>
AuthorDate: Thu Jan 4 09:47:31 2024 +0100

    Fixed: Replace SvnCheckout in Gradle (OFBIZ-12868)
    
    Removes definitely SvnCheckout, pullPluginSource and pullAllPluginsSource 
tasks
    from Gradle (in build.gradle)
    
    Fixes both pullPluginSource scripts, notably uses a shallow clone rather 
than a
    blobless clone as suggested by Eugen, less space, faster
---
 build.gradle         | 56 ----------------------------------------------------
 pullPluginSource.bat | 26 ++++++++++++------------
 pullPluginSource.sh  | 21 ++++++++++----------
 3 files changed, 23 insertions(+), 80 deletions(-)

diff --git a/build.gradle b/build.gradle
index 7c0866217f..e55529938c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import at.bxm.gradleplugins.svntools.tasks.SvnCheckout
 import org.apache.tools.ant.filters.ReplaceTokens
 import org.asciidoctor.gradle.jvm.AsciidoctorTask
 
@@ -30,7 +29,6 @@ plugins {
     id 'checkstyle'
     id 'codenarc'
     id 'maven-publish'
-    id 'at.bxm.svntools' version '3.1'
     id 'org.asciidoctor.jvm.convert' version '3.3.2'
     id 'org.asciidoctor.jvm.pdf' version '3.3.2'
     id 'org.owasp.dependencycheck' version '7.4.4' apply false
@@ -980,60 +978,6 @@ task pullPlugin(group: ofbizPlugin, description: 'Download 
and install a plugin
         }
     }
 }
-/* The pullPluginSource and pullPluginSource task are now replaced by the OS 
scripts pullPluginSource and pullAllPluginsSource
-task pullPluginSource(group: ofbizPlugin, description: 'Download and install a 
plugin from source control') {
-
-    if (project.hasProperty('pluginId')) {
-        // GitHub SVN feature 
https://docs.github.com/en/github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients
-        task pullPluginFromSvn(type: SvnCheckout) {
-            def currentBranch = getCurrentGitBranch()
-            // Only used for release branches
-            if (currentBranch == "trunk") {
-                svnUrl = 
"https://github.com/apache/ofbiz-plugins/trunk/${pluginId}";
-            } else {
-                svnUrl = "https://github.com/apache/ofbiz-plugins/branches/"; + 
currentBranch + "/${pluginId}"
-            }
-            workspaceDir = "${pluginsDir}/${pluginId}"
-        }
-        dependsOn pullPluginFromSvn
-    }
-    doLast {
-        gradlewSubprocess(['installPlugin', "-PpluginId=${pluginId}"])
-    }
-}
-
-task pullAllPluginsSource(group: ofbizPlugin,
-        description: 'Download and install all plugins from source control. 
Warning! deletes existing plugins') {
-
-    task deleteBeforePulling {
-        doLast { delete "${pluginsDir}" }
-    }
-    task pullPluginsFromSvn(type: SvnCheckout, dependsOn: deleteBeforePulling) 
{
-        // GitHub SVN feature 
https://docs.github.com/en/github/importing-your-projects-to-github/working-with-subversion-on-github/support-for-subversion-clients
-        def currentBranch = getCurrentGitBranch()
-        // Only used for release branches
-        if (currentBranch == "trunk") {
-            svnUrl = "https://github.com/apache/ofbiz-plugins/trunk";
-        } else {
-            svnUrl = "https://github.com/apache/ofbiz-plugins/branches/"; + 
currentBranch
-        }
-        workspaceDir = "${pluginsDir}"
-    }
-    dependsOn pullPluginsFromSvn
-
-    task installAllPlugins {
-        subdirs(file("${pluginsDir}"))
-            .filter(this.isComponentEnabled)
-            .filter { taskExistsInproject(":plugins:${it.name}", 'install') }
-            .forEach({ plugin ->
-                dependsOn ":plugins:${plugin.name}:install"
-                doLast { println "installed plugin ${plugin.name}" }
-            })
-    }
-    doLast {
-        gradlewSubprocess(['installAllPlugins'])
-    }
-}*/
 
 // ========== Clean up tasks ==========
 task cleanCatalina(group: cleanupGroup, description: 'Clean Catalina data in 
runtime/catalina/work') {
diff --git a/pullPluginSource.bat b/pullPluginSource.bat
index a3d5960157..c11ebcce0f 100644
--- a/pullPluginSource.bat
+++ b/pullPluginSource.bat
@@ -18,31 +18,31 @@ rem specific language governing permissions and limitations
 rem under the License.
 rem #####################################################################
 
-rem Remove plugins dir in case of all plugins present
+rem Remove plugins dir in case of all plugins present (no .git)
 if EXIST plugins\ (
     if NOT EXIST plugins\.git\ (
         cmd /c rd/s/q plugins
     )
 )
-rem Clone if new else simply init sparse-checkout
+rem Clone and set if new else simply add
 if NOT EXIST plugins\.git\ (
-    git clone --filter=blob:none --sparse 
https://github.com/apache/ofbiz-plugins.git plugins
-    cd plugins
+        git clone --depth=1 --sparse 
https://github.com/apache/ofbiz-plugins.git plugins
+        cd plugins
+        git sparse-checkout set %1
 ) else (
     cd plugins
-    rem the documentation says init is deprecated but set does work here: 
https://git-scm.com/docs/git-sparse-checkout
-    git sparse-checkout init --cone --sparse-index
+    git sparse-checkout add %1
 )
 
-rem Add the plugin
-git sparse-checkout add %1
-
-
+rem Get the branch used in framework
+cd ..
 git branch --show-current > temp.txt
 set /p branch=<temp.txt
 del temp.txt
-rem By default the clone branch is trunk
+
+rem By default the cloned branch is trunk, switch if necessary
 if NOT trunk == %branch% (
-    call git switch -c %1 --track origin/%1
+        cd plugins
+        git switch -C %branch%
+        cd ..
 )
-cd ..
diff --git a/pullPluginSource.sh b/pullPluginSource.sh
index 6a4948545f..ec306da844 100755
--- a/pullPluginSource.sh
+++ b/pullPluginSource.sh
@@ -17,28 +17,26 @@
 # under the License.
 
 
-# Remove plugins dir in case of all plugins present
+# Remove plugins dir in case of all plugins present (no .git)
 if [ -d "plugins" ]
     then
-        if [ ! -d "plugins\.git" ]
+        if [ ! -d "plugins/.git" ]
         then
             rm -rf plugins
         fi
 fi
 
-# Clone if new else simply init sparse-checkout
-if [ ! -d "plugins\.git" ]
+# Clone and set if new else simply add
+if [ ! -d "plugins/.git" ]
     then
-        git clone --filter=blob:none --sparse 
https://github.com/apache/ofbiz-plugins.git plugins
+        git clone --depth=1 --sparse 
https://github.com/apache/ofbiz-plugins.git plugins
         cd plugins
+        git sparse-checkout set "$1"
 else
     cd plugins
-    # the documentation says init is deprecated but set does work here: 
https://git-scm.com/docs/git-sparse-checkout
-    git sparse-checkout init --cone --sparse-index
+    git sparse-checkout add "$1"
 fi
 
-# Add the plugin
-git sparse-checkout add "$1"
 
 # Get the branch used in framework
 cd ..
@@ -46,9 +44,10 @@ git branch --show-current > temp.txt
 branch=$(cat temp.txt)
 rm temp.txt
 
-# By default the clone branch is trunk
+# By default the cloned branch is trunk, switch if necessary
 if [ ! "$branch" = trunk ]
     then
+        cd plugins
         git switch -C "$branch"
+        cd ..
 fi
-cd ..

Reply via email to