Merge branch 'develop' into feature/JAL-4159_pasimap
[jalview.git] / build.gradle
index 6df3ec9..90686b3 100644 (file)
@@ -193,6 +193,7 @@ ext {
   testDir = string("${jalviewDir}/${bareTestSourceDir}")
 
   classesDir = string("${jalviewDir}/${classes_dir}")
+  destinationDirectory = file(classesDir)
 
   // clover
   useClover = clover.equals("true")
@@ -590,14 +591,14 @@ sourceSets {
   main {
     java {
       srcDirs sourceDir
-      outputDir = file(classesDir)
+      destinationDirectory = file(classesDir)
     }
 
     resources {
       srcDirs = [ resourcesBuildDir, docBuildDir, helpBuildDir ]
     }
 
-    compileClasspath = files(sourceSets.main.java.outputDir)
+    compileClasspath = files(sourceSets.main.java.destinationDirectory)
     compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
 
     runtimeClasspath = compileClasspath
@@ -607,14 +608,14 @@ sourceSets {
   clover {
     java {
       srcDirs cloverInstrDir
-      outputDir = cloverClassesDir
+      destinationDirectory = cloverClassesDir
     }
 
     resources {
       srcDirs = sourceSets.main.resources.srcDirs
     }
 
-    compileClasspath = files( sourceSets.clover.java.outputDir )
+    compileClasspath = files( sourceSets.clover.java.destinationDirectory )
     //compileClasspath += files( testClassesDir )
     compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
     compileClasspath += fileTree(dir: "${jalviewDir}/${clover_lib_dir}", include: ["*.jar"])
@@ -626,14 +627,14 @@ sourceSets {
   test {
     java {
       srcDirs testSourceDir
-      outputDir = file(testClassesDir)
+      destinationDirectory = file(testClassesDir)
     }
 
     resources {
       srcDirs = useClover ? sourceSets.clover.resources.srcDirs : sourceSets.main.resources.srcDirs
     }
 
-    compileClasspath = files( sourceSets.test.java.outputDir )
+    compileClasspath = files( sourceSets.test.java.destinationDirectory )
     compileClasspath += useClover ? sourceSets.clover.compileClasspath : sourceSets.main.compileClasspath
     compileClasspath += fileTree(dir: "${jalviewDir}/${utils_dir}/testnglibs", include: ["**/*.jar"])
 
@@ -658,7 +659,7 @@ eclipse {
   }
 
   classpath {
-    //defaultOutputDir = sourceSets.main.java.outputDir
+    //defaultOutputDir = sourceSets.main.java.destinationDirectory
     configurations.each{ c->
       if (c.isCanBeResolved()) {
         minusConfigurations += [c]
@@ -697,7 +698,7 @@ eclipse {
         HashMap<String, Boolean> alreadyAddedLibPath = new HashMap<>();
 
         sourceSets.main.compileClasspath.findAll { it.name.endsWith(".jar") }.any {
-          //don't want to add outputDir as eclipse is using its own output dir in bin/main
+          //don't want to add destinationDirectory as eclipse is using its own output dir in bin/main
           if (it.isDirectory() || ! it.exists()) {
             // don't add dirs to classpath, especially if they don't exist
             return false // groovy "continue" in .any closure
@@ -717,7 +718,7 @@ eclipse {
         }
 
         sourceSets.test.compileClasspath.findAll { it.name.endsWith(".jar") }.any {
-          //no longer want to add outputDir as eclipse is using its own output dir in bin/main
+          //no longer want to add destinationDirectory as eclipse is using its own output dir in bin/main
           if (it.isDirectory() || ! it.exists()) {
             // don't add dirs to classpath
             return false // groovy "continue" in .any closure
@@ -1094,7 +1095,7 @@ compileTestJava {
 
 clean {
   doFirst {
-    delete sourceSets.main.java.outputDir
+    delete sourceSets.main.java.destinationDirectory
   }
 }
 
@@ -1102,7 +1103,7 @@ clean {
 cleanTest {
   dependsOn cleanClover
   doFirst {
-    delete sourceSets.test.java.outputDir
+    delete sourceSets.test.java.destinationDirectory
   }
 }
 
@@ -1194,7 +1195,7 @@ def convertMdToHtml (FileTree mdFiles, File cssFile) {
 
 task copyDocs(type: Copy) {
   def inputDir = "${jalviewDir}/${doc_dir}"
-  def outputDir = "${docBuildDir}/${doc_dir}"
+  def destinationDirectory = "${docBuildDir}/${doc_dir}"
   from(inputDir) {
     include('**/*.txt')
     include('**/*.md')
@@ -1215,10 +1216,10 @@ task copyDocs(type: Copy) {
     exclude('**/*.html')
     exclude('**/*.xml')
   }
-  into outputDir
+  into destinationDirectory
 
   inputs.dir(inputDir)
-  outputs.dir(outputDir)
+  outputs.dir(destinationDirectory)
 }
 
 
@@ -1283,15 +1284,15 @@ def mdFileComponents(File mdFile, def dateOnly=false) {
       }
       if (inFrontMatter) {
         def m = null
-        if (m = line =~ /^date:\s*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/) {
+        if (m == line =~ /^date:\s*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/) {
           map["date"] = new Date().parse("yyyy-MM-dd HH:mm:ss", m[0][1])
-        } else if (m = line =~ /^date:\s*(\d{4}-\d{2}-\d{2})/) {
+        } else if (m == line =~ /^date:\s*(\d{4}-\d{2}-\d{2})/) {
           map["date"] = new Date().parse("yyyy-MM-dd", m[0][1])
-        } else if (m = line =~ /^channel:\s*(\S+)/) {
+        } else if (m == line =~ /^channel:\s*(\S+)/) {
           map["channel"] = m[0][1]
-        } else if (m = line =~ /^version:\s*(\S+)/) {
+        } else if (m == line =~ /^version:\s*(\S+)/) {
           map["version"] = m[0][1]
-        } else if (m = line =~ /^\s*([^:]+)\s*:\s*(\S.*)/) {
+        } else if (m == line =~ /^\s*([^:]+)\s*:\s*(\S.*)/) {
           map[ m[0][1] ] = m[0][2]
         }
         if (dateOnly && map["date"] != null) {
@@ -1350,7 +1351,7 @@ task hugoTemplates {
       def inSection = false
       changes.eachLine { line ->
         def m = null
-        if (m = line =~ /^##([^#].*)$/) {
+        if (m == line =~ /^##([^#].*)$/) {
           if (inSection) {
             changesHugo += "</div>\n\n"
           }
@@ -1360,7 +1361,7 @@ task hugoTemplates {
           section = section.replaceAll(/[^a-z0-9_\-]/, "")
           changesHugo += "<div class=\"${section}\">\n\n"
           inSection = true
-        } else if (m = line =~ /^(\s*-\s*)<!--([^>]+)-->(.*?)(<br\/?>)?\s*$/) {
+        } else if (m == line =~ /^(\s*-\s*)<!--([^>]+)-->(.*?)(<br\/?>)?\s*$/) {
           def comment = m[0][2].trim()
           if (comment != "") {
             comment = comment.replaceAll('"', "&quot;")
@@ -1430,7 +1431,7 @@ def getMdSections(String content) {
   def sectionName = null
   content.eachLine { line ->
     def m = null
-    if (m = line =~ /^##([^#].*)$/) {
+    if (m == line =~ /^##([^#].*)$/) {
       if (sectionName != null) {
         sections[sectionName] = sectionContent
         sectionName = null
@@ -1453,7 +1454,7 @@ def getMdSections(String content) {
 
 task copyHelp(type: Copy) {
   def inputDir = helpSourceDir
-  def outputDir = "${helpBuildDir}/${help_dir}"
+  def destinationDirectory = "${helpBuildDir}/${help_dir}"
   from(inputDir) {
     include('**/*.txt')
     include('**/*.md')
@@ -1478,14 +1479,15 @@ task copyHelp(type: Copy) {
     exclude('**/*.xml')
     exclude('**/*.jhm')
   }
-  into outputDir
+  into destinationDirectory
 
   inputs.dir(inputDir)
   outputs.files(helpFile)
-  outputs.dir(outputDir)
+  outputs.dir(destinationDirectory)
 }
 
 
+/*
 task releasesTemplates {
   group "help"
   description "Recreate whatsNew.html and releases.html from markdown files and templates in help"
@@ -1562,9 +1564,9 @@ task releasesTemplates {
       def lm = null
       def rContentProcessed = ""
       rContent.eachLine { line ->
-        if (lm = line =~ /^(\s*-)(\s*<!--[^>]*?-->)(.*)$/) {
+        if (lm == line =~ /^(\s*-)(\s*<!--[^>]*?-->)(.*)$/) {
           line = "${lm[0][1]}${lm[0][3]}${lm[0][2]}"
-      } else if (lm = line =~ /^###([^#]+.*)$/) {
+      } else if (lm == line =~ /^###([^#]+.*)$/) {
           line = "_${lm[0][1].trim()}_"
         }
         rContentProcessed += line + "\n"
@@ -1622,13 +1624,14 @@ task releasesTemplates {
   outputs.file(whatsnewHtmlFile)
 }
 
+*/
 
 task copyResources(type: Copy) {
   group = "build"
   description = "Copy (and make text substitutions in) the resources dir to the build area"
 
   def inputDir = resourceDir
-  def outputDir = resourcesBuildDir
+  def destinationDirectory = resourcesBuildDir
   from(inputDir) {
     include('**/*.txt')
     include('**/*.md')
@@ -1649,10 +1652,10 @@ task copyResources(type: Copy) {
     exclude('**/*.html')
     exclude('**/*.xml')
   }
-  into outputDir
+  into destinationDirectory
 
   inputs.dir(inputDir)
-  outputs.dir(outputDir)
+  outputs.dir(destinationDirectory)
 }
 
 task copyChannelResources(type: Copy) {
@@ -1661,7 +1664,7 @@ task copyChannelResources(type: Copy) {
   description = "Copy the channel resources dir to the build resources area"
 
   def inputDir = "${channelDir}/${resource_dir}"
-  def outputDir = resourcesBuildDir
+  def destinationDirectory = resourcesBuildDir
   from(inputDir) {
     include(channel_props)
     filter(ReplaceTokens,
@@ -1675,14 +1678,15 @@ task copyChannelResources(type: Copy) {
   from(inputDir) {
     exclude(channel_props)
   }
-  into outputDir
+  into destinationDirectory
 
   inputs.dir(inputDir)
-  outputs.dir(outputDir)
+  outputs.dir(destinationDirectory)
 }
 
 task createBuildProperties(type: WriteProperties) {
   dependsOn copyResources
+  dependsOn copyChannelResources
   group = "build"
   description = "Create the ${buildProperties} file"
   
@@ -1706,6 +1710,7 @@ task createBuildProperties(type: WriteProperties) {
 
 task buildIndices(type: JavaExec) {
   dependsOn copyHelp
+  //dependsOn releasesTemplates
   classpath = sourceSets.main.compileClasspath
   main = "com.sun.java.help.search.Indexer"
   workingDir = "${helpBuildDir}/${help_dir}"
@@ -1733,18 +1738,25 @@ task prepare {
   dependsOn buildResources
   dependsOn copyDocs
   dependsOn copyHelp
-  dependsOn releasesTemplates
+  //dependsOn releasesTemplates
   dependsOn convertMdFiles
   dependsOn buildIndices
 }
 
 
+// random block of dependencies
 compileJava.dependsOn prepare
 run.dependsOn compileJava
-compileTestJava.dependsOn compileJava
-
-
-
+//run.dependsOn prepare
+compileTestJava.dependsOn compileJava //
+compileTestJava.dependsOn buildIndices //
+processResources.dependsOn copyChannelResources //
+processResources.dependsOn copyResources //
+processResources.dependsOn createBuildProperties //
+processResources.dependsOn copyDocs //
+processResources.dependsOn convertMdFiles //
+processResources.dependsOn copyHelp //
+processResources.dependsOn buildIndices //
 test {
   group = "Verification"
   description = "Runs all testTaskN tasks)"
@@ -2037,6 +2049,7 @@ private static void printResults(allResults) {
 /* END of test tasks results summary */
 
 
+/*
 task compileLinkCheck(type: JavaCompile) {
   options.fork = true
   classpath = files("${jalviewDir}/${utils_dir}")
@@ -2071,6 +2084,7 @@ task linkCheck(type: JavaExec) {
   inputs.dir(helpBuildDir)
   outputs.file(helpLinksCheckerOutFile)
 }
+*/
 
 
 // import the pubhtmlhelp target
@@ -2085,10 +2099,14 @@ task cleanPackageDir(type: Delete) {
   }
 }
 
+// block of dependencies
+//compileTestJava.dependsOn compileLinkCheck //
+//copyChannelResources.dependsOn compileLinkCheck //
+//convertMdFiles.dependsOn compileLinkCheck //
 
 jar {
   dependsOn prepare
-  dependsOn linkCheck
+  dependsOn //linkCheck
 
   manifest {
     attributes "Main-Class": main_class,
@@ -2098,8 +2116,8 @@ jar {
     "Implementation-Version": JALVIEW_VERSION
   }
 
-  def outputDir = "${jalviewDir}/${package_dir}"
-  destinationDirectory = file(outputDir)
+  def destinationDirectory = "${jalviewDir}/${package_dir}"
+  destinationDirectory = file(destinationDirectory)
   archiveFileName = rootProject.name+".jar"
   duplicatesStrategy "EXCLUDE"
 
@@ -2110,11 +2128,11 @@ jar {
   exclude "**/*.jar"
   exclude "**/*.jar.*"
 
-  inputs.dir(sourceSets.main.java.outputDir)
+  inputs.dir(sourceSets.main.java.destinationDirectory)
   sourceSets.main.resources.srcDirs.each{ dir ->
     inputs.dir(dir)
   }
-  outputs.file("${outputDir}/${archiveFileName}")
+  outputs.file("${destinationDirectory}/${archiveFileName}")
 }
 
 
@@ -2207,7 +2225,7 @@ shadowJar {
   // this mainClassName is mandatory but gets ignored due to manifest created in doFirst{}. Set the Main-Class as an attribute in launcherJar instead
   mainClassName = shadow_jar_main_class
   mergeServiceFiles()
-  classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
+  archiveClassifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
   minimize()
 }
 
@@ -3388,10 +3406,10 @@ task jalviewjsEclipseCopyDropins(type: Copy) {
 
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_eclipse_dropins_dir}", include: "*.jar")
   inputFiles += file("${jalviewDir}/${jalviewjsJ2sPlugin}")
-  def outputDir = "${jalviewDir}/${jalviewjsBuildDir}/${jalviewjs_eclipse_tmp_dropins_dir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsBuildDir}/${jalviewjs_eclipse_tmp_dropins_dir}"
 
   from inputFiles
-  into outputDir
+  into destinationDirectory
 }
 
 
@@ -3499,13 +3517,13 @@ task jalviewjsSyncAllLibs (type: Sync) {
   dependsOn jalviewjsTransferUnzipAllLibs
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteLibDir}")
   inputFiles += fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}")
-  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
-  into outputDir
+  into destinationDirectory
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${outputDir}/${filename}"
+    outputFiles += "${destinationDirectory}/${filename}"
     null
   }
   preserve {
@@ -3524,13 +3542,13 @@ task jalviewjsSyncResources (type: Sync) {
   dependsOn buildResources
 
   def inputFiles = fileTree(dir: resourcesBuildDir)
-  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
 
   from inputFiles
-  into outputDir
+  into destinationDirectory
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${outputDir}/${filename}"
+    outputFiles += "${destinationDirectory}/${filename}"
     null
   }
   preserve {
@@ -3543,13 +3561,13 @@ task jalviewjsSyncResources (type: Sync) {
 
 task jalviewjsSyncSiteResources (type: Sync) {
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_site_resource_dir}")
-  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
-  into outputDir
+  into destinationDirectory
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${outputDir}/${filename}"
+    outputFiles += "${destinationDirectory}/${filename}"
     null
   }
   preserve {
@@ -3563,13 +3581,13 @@ task jalviewjsSyncSiteResources (type: Sync) {
 task jalviewjsSyncBuildProperties (type: Sync) {
   dependsOn createBuildProperties
   def inputFiles = [file(buildProperties)]
-  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
 
   from inputFiles
-  into outputDir
+  into destinationDirectory
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${outputDir}/${filename}"
+    outputFiles += "${destinationDirectory}/${filename}"
     null
   }
   preserve {
@@ -3788,7 +3806,7 @@ task jalviewjsBuildAllCores {
   def swingJ2sDir = "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}/${jalviewjs_j2s_subdir}"
   def libJ2sDir = "${jalviewDir}/${jalviewjsTransferSiteLibDir}/${jalviewjs_j2s_subdir}"
   def jsDir = "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}/${jalviewjs_js_subdir}"
-  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
   def prefixFile = "${jsDir}/core/coretop2.js"
   def suffixFile = "${jsDir}/core/corebottom2.js"
 
@@ -3832,8 +3850,8 @@ task jalviewjsBuildAllCores {
     }
     def list = fileTree(dir: j2sDir, includes: filelist)
 
-    def jsfile = "${outputDir}/core${name}.js"
-    def zjsfile = "${outputDir}/core${name}.z.js"
+    def jsfile = "${destinationDirectory}/core${name}.js"
+    def zjsfile = "${destinationDirectory}/core${name}.z.js"
 
     jalviewjsCoreClasslists += [
       'jsfile': jsfile,
@@ -3851,8 +3869,8 @@ task jalviewjsBuildAllCores {
   // _stevesoft core. add any cores without a classlist here (and the inputs and outputs)
   def stevesoftClasslistName = "_stevesoft"
   def stevesoftClasslist = [
-    'jsfile': "${outputDir}/core${stevesoftClasslistName}.js",
-    'zjsfile': "${outputDir}/core${stevesoftClasslistName}.z.js",
+    'jsfile': "${destinationDirectory}/core${stevesoftClasslistName}.js",
+    'zjsfile': "${destinationDirectory}/core${stevesoftClasslistName}.z.js",
     'list': fileTree(dir: j2sDir, include: "com/stevesoft/pat/**/*.js"),
     'name': stevesoftClasslistName
   ]
@@ -3885,8 +3903,8 @@ task jalviewjsBuildAllCores {
     ]
   )
   def allClasslist = [
-    'jsfile': "${outputDir}/core${allClasslistName}.js",
-    'zjsfile': "${outputDir}/core${allClasslistName}.z.js",
+    'jsfile': "${destinationDirectory}/core${allClasslistName}.js",
+    'zjsfile': "${destinationDirectory}/core${allClasslistName}.z.js",
     'list': allJsFiles,
     'name': allClasslistName
   ]
@@ -3939,11 +3957,11 @@ task jalviewjsPublishCoreTemplates {
   dependsOn jalviewjsBuildAllCores
   def inputFileName = "${jalviewDir}/${j2s_coretemplate_html}"
   def inputFile = file(inputFileName)
-  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
 
   def outputFiles = []
   jalviewjsCoreClasslists.each { cl ->
-    def outputFile = "${outputDir}/${jalviewjsJalviewTemplateName}_${cl.name}.html"
+    def outputFile = "${destinationDirectory}/${jalviewjsJalviewTemplateName}_${cl.name}.html"
     cl['outputfile'] = outputFile
     outputFiles += outputFile
   }
@@ -3962,13 +3980,13 @@ task jalviewjsSyncCore (type: Sync) {
   dependsOn jalviewjsBuildAllCores
   dependsOn jalviewjsPublishCoreTemplates
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteCoreDir}")
-  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
+  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
-  into outputDir
+  into destinationDirectory
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${outputDir}/${filename}"
+    outputFiles += "${destinationDirectory}/${filename}"
     null
   }
   preserve {