JAL-4059 Fixed Copy tasks merging site
[jalview.git] / build.gradle
index 875ff49..2ddf4db 100644 (file)
@@ -3833,47 +3833,9 @@ ECLIPSE DEBUG: ${eclipseDebug}
 }
 
 
-task jalviewjsTransferSiteMergeLibDir (type: Copy) {
-  dependsOn jalviewjsTransferUnzipLib
-
-  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
-
-  // This takes the outputs of jalviewjsTransferUnzipLib
-  from jalviewjsTransferUnzipLib
-  into outputDir
-
-  includeEmptyDirs = false
-  exclude "**/*.html"
-  exclude "**/*.htm"
-
-  // should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
-  duplicatesStrategy "INCLUDE"
-}
-
-task jalviewjsTransferSiteMergeSwingJsDir (type: Copy) {
-  dependsOn jalviewjsTransferUnzipSwingJs
-
-  mustRunAfter jalviewjsTransferSiteMergeLibDir 
-
-  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
-
-  // This takes the outputs of jalviewjsTransferUnzipSwingJs
-  from jalviewjsTransferUnzipSwingJs
-  into outputDir
-
-  includeEmptyDirs = false
-  exclude "**/*.html"
-  exclude "**/*.htm"
-
-  // should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
-  duplicatesStrategy "INCLUDE"
-}
-
 task jalviewjsTransferSiteMergeSiteJsDir (type: Copy) {
   dependsOn jalviewjsTranspile
 
-  mustRunAfter jalviewjsTransferSiteMergeLibDir 
-  mustRunAfter jalviewjsTransferSiteMergeSwingJsDir 
 
   def inputDir = file("${jalviewDir}/${jalviewjsTransferSiteJsDir}")
   def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
@@ -3914,6 +3876,58 @@ task jalviewjsTransferSiteMergeSiteJsDir (type: Copy) {
   inputs.files jalviewjsTranspile
 }
 
+task jalviewjsTransferSiteMergeSwingJsDir (type: Copy) {
+  dependsOn jalviewjsTransferUnzipSwingJs
+
+  mustRunAfter jalviewjsTransferSiteMergeSiteJsDir 
+
+  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
+
+  // This takes the outputs of jalviewjsTransferUnzipSwingJs
+  from jalviewjsTransferUnzipSwingJs
+  into outputDir
+
+  includeEmptyDirs = false
+  exclude "**/*.html"
+  exclude "**/*.htm"
+
+  eachFile {
+    if (it.getRelativePath().getFile(file(outputDir)).exists()) {
+      it.exclude()
+    }
+  }
+
+  // should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
+  duplicatesStrategy "INCLUDE"
+}
+
+task jalviewjsTransferSiteMergeLibDir (type: Copy) {
+  dependsOn jalviewjsTransferUnzipLib
+  
+  mustRunAfter jalviewjsTransferSiteMergeSiteJsDir 
+  mustRunAfter jalviewjsTransferSiteMergeSwingJsDir 
+
+  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
+
+  // This takes the outputs of jalviewjsTransferUnzipLib
+  from jalviewjsTransferUnzipLib
+  into outputDir
+
+  includeEmptyDirs = false
+  exclude "**/*.html"
+  exclude "**/*.htm"
+
+  // don't overwrite files in the destination
+  eachFile {
+    if (it.getRelativePath().getFile(file(outputDir)).exists()) {
+      it.exclude()
+    }
+  }
+
+  // should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
+  duplicatesStrategy "INCLUDE"
+}
+
 
 task jalviewjsTransferSiteMergeDirs {
   dependsOn jalviewjsTransferSiteMergeLibDir