JAL-4159 recover 2.11.3 series gradle/build.properties so we can build the spike spike/JAL-4159_pasimap_2113_series
authorJames Procter <j.procter@dundee.ac.uk>
Tue, 9 Apr 2024 07:03:45 +0000 (08:03 +0100)
committerJames Procter <j.procter@dundee.ac.uk>
Tue, 9 Apr 2024 07:03:45 +0000 (08:03 +0100)
build.gradle
gradle.properties

index 800fe42..3ed6c56 100644 (file)
@@ -51,8 +51,8 @@ plugins {
   id 'java'
   id 'application'
   id 'eclipse'
-  id "com.diffplug.spotless" version "6.18.0" //.gradle.spotless" "3.28.0"
-  id 'com.github.johnrengelman.shadow' version '8.1.1' // was 4.0.3
+  id "com.diffplug.gradle.spotless" version "3.28.0"
+  id 'com.github.johnrengelman.shadow' version '6.0.0'
   id 'com.install4j.gradle' version '10.0.3'
   id 'com.dorongold.task-tree' version '2.1.1' // only needed to display task dependency tree with  gradle task1 [task2 ...] taskTree
   id 'com.palantir.git-version' version '0.13.0' apply false
@@ -193,7 +193,6 @@ ext {
   testDir = string("${jalviewDir}/${bareTestSourceDir}")
 
   classesDir = string("${jalviewDir}/${classes_dir}")
-  destinationDirectory = file(classesDir)
 
   // clover
   useClover = clover.equals("true")
@@ -591,14 +590,14 @@ sourceSets {
   main {
     java {
       srcDirs sourceDir
-      destinationDirectory = file(classesDir)
+      outputDir = file(classesDir)
     }
 
     resources {
       srcDirs = [ resourcesBuildDir, docBuildDir, helpBuildDir ]
     }
 
-    compileClasspath = files(sourceSets.main.java.destinationDirectory)
+    compileClasspath = files(sourceSets.main.java.outputDir)
     compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
 
     runtimeClasspath = compileClasspath
@@ -608,14 +607,14 @@ sourceSets {
   clover {
     java {
       srcDirs cloverInstrDir
-      destinationDirectory = cloverClassesDir
+      outputDir = cloverClassesDir
     }
 
     resources {
       srcDirs = sourceSets.main.resources.srcDirs
     }
 
-    compileClasspath = files( sourceSets.clover.java.destinationDirectory )
+    compileClasspath = files( sourceSets.clover.java.outputDir )
     //compileClasspath += files( testClassesDir )
     compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
     compileClasspath += fileTree(dir: "${jalviewDir}/${clover_lib_dir}", include: ["*.jar"])
@@ -627,14 +626,14 @@ sourceSets {
   test {
     java {
       srcDirs testSourceDir
-      destinationDirectory = file(testClassesDir)
+      outputDir = file(testClassesDir)
     }
 
     resources {
       srcDirs = useClover ? sourceSets.clover.resources.srcDirs : sourceSets.main.resources.srcDirs
     }
 
-    compileClasspath = files( sourceSets.test.java.destinationDirectory )
+    compileClasspath = files( sourceSets.test.java.outputDir )
     compileClasspath += useClover ? sourceSets.clover.compileClasspath : sourceSets.main.compileClasspath
     compileClasspath += fileTree(dir: "${jalviewDir}/${utils_dir}/testnglibs", include: ["**/*.jar"])
 
@@ -659,7 +658,7 @@ eclipse {
   }
 
   classpath {
-    //defaultOutputDir = sourceSets.main.java.destinationDirectory
+    //defaultOutputDir = sourceSets.main.java.outputDir
     configurations.each{ c->
       if (c.isCanBeResolved()) {
         minusConfigurations += [c]
@@ -698,7 +697,7 @@ eclipse {
         HashMap<String, Boolean> alreadyAddedLibPath = new HashMap<>();
 
         sourceSets.main.compileClasspath.findAll { it.name.endsWith(".jar") }.any {
-          //don't want to add destinationDirectory as eclipse is using its own output dir in bin/main
+          //don't want to add outputDir 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
@@ -718,7 +717,7 @@ eclipse {
         }
 
         sourceSets.test.compileClasspath.findAll { it.name.endsWith(".jar") }.any {
-          //no longer want to add destinationDirectory as eclipse is using its own output dir in bin/main
+          //no longer want to add outputDir 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
@@ -1095,7 +1094,7 @@ compileTestJava {
 
 clean {
   doFirst {
-    delete sourceSets.main.java.destinationDirectory
+    delete sourceSets.main.java.outputDir
   }
 }
 
@@ -1103,7 +1102,7 @@ clean {
 cleanTest {
   dependsOn cleanClover
   doFirst {
-    delete sourceSets.test.java.destinationDirectory
+    delete sourceSets.test.java.outputDir
   }
 }
 
@@ -1195,7 +1194,7 @@ def convertMdToHtml (FileTree mdFiles, File cssFile) {
 
 task copyDocs(type: Copy) {
   def inputDir = "${jalviewDir}/${doc_dir}"
-  def destinationDirectory = "${docBuildDir}/${doc_dir}"
+  def outputDir = "${docBuildDir}/${doc_dir}"
   from(inputDir) {
     include('**/*.txt')
     include('**/*.md')
@@ -1216,10 +1215,10 @@ task copyDocs(type: Copy) {
     exclude('**/*.html')
     exclude('**/*.xml')
   }
-  into destinationDirectory
+  into outputDir
 
   inputs.dir(inputDir)
-  outputs.dir(destinationDirectory)
+  outputs.dir(outputDir)
 }
 
 
@@ -1284,15 +1283,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) {
@@ -1351,7 +1350,7 @@ task hugoTemplates {
       def inSection = false
       changes.eachLine { line ->
         def m = null
-        if (m == line =~ /^##([^#].*)$/) {
+        if (m = line =~ /^##([^#].*)$/) {
           if (inSection) {
             changesHugo += "</div>\n\n"
           }
@@ -1361,7 +1360,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;")
@@ -1431,7 +1430,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
@@ -1454,7 +1453,7 @@ def getMdSections(String content) {
 
 task copyHelp(type: Copy) {
   def inputDir = helpSourceDir
-  def destinationDirectory = "${helpBuildDir}/${help_dir}"
+  def outputDir = "${helpBuildDir}/${help_dir}"
   from(inputDir) {
     include('**/*.txt')
     include('**/*.md')
@@ -1479,15 +1478,14 @@ task copyHelp(type: Copy) {
     exclude('**/*.xml')
     exclude('**/*.jhm')
   }
-  into destinationDirectory
+  into outputDir
 
   inputs.dir(inputDir)
   outputs.files(helpFile)
-  outputs.dir(destinationDirectory)
+  outputs.dir(outputDir)
 }
 
 
-/*
 task releasesTemplates {
   group "help"
   description "Recreate whatsNew.html and releases.html from markdown files and templates in help"
@@ -1564,9 +1562,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"
@@ -1624,14 +1622,13 @@ 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 destinationDirectory = resourcesBuildDir
+  def outputDir = resourcesBuildDir
   from(inputDir) {
     include('**/*.txt')
     include('**/*.md')
@@ -1652,10 +1649,10 @@ task copyResources(type: Copy) {
     exclude('**/*.html')
     exclude('**/*.xml')
   }
-  into destinationDirectory
+  into outputDir
 
   inputs.dir(inputDir)
-  outputs.dir(destinationDirectory)
+  outputs.dir(outputDir)
 }
 
 task copyChannelResources(type: Copy) {
@@ -1664,7 +1661,7 @@ task copyChannelResources(type: Copy) {
   description = "Copy the channel resources dir to the build resources area"
 
   def inputDir = "${channelDir}/${resource_dir}"
-  def destinationDirectory = resourcesBuildDir
+  def outputDir = resourcesBuildDir
   from(inputDir) {
     include(channel_props)
     filter(ReplaceTokens,
@@ -1678,15 +1675,14 @@ task copyChannelResources(type: Copy) {
   from(inputDir) {
     exclude(channel_props)
   }
-  into destinationDirectory
+  into outputDir
 
   inputs.dir(inputDir)
-  outputs.dir(destinationDirectory)
+  outputs.dir(outputDir)
 }
 
 task createBuildProperties(type: WriteProperties) {
   dependsOn copyResources
-  dependsOn copyChannelResources
   group = "build"
   description = "Create the ${buildProperties} file"
   
@@ -1710,7 +1706,6 @@ 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}"
@@ -1738,25 +1733,18 @@ 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
-//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 //
+compileTestJava.dependsOn compileJava
+
+
+
 test {
   group = "Verification"
   description = "Runs all testTaskN tasks)"
@@ -1795,6 +1783,27 @@ task testTask1(type: Test) {
   }
 }
 
+task testTask2(type: Test) {
+  group = "Verification"
+  description = "Tests that need to be isolated from the main test run"
+  useTestNG() {
+    includeGroups name
+    excludeGroups testng_excluded_groups.split(",")
+    preserveOrder true
+    useDefaultListeners=true
+  }
+}
+task testTask3(type: Test) {
+  group = "Verification"
+  description = "Tests that need to be isolated from the main test run"
+  useTestNG() {
+    includeGroups name
+    excludeGroups testng_excluded_groups.split(",")
+    preserveOrder true
+    useDefaultListeners=true
+  }
+}
+
 /* insert more testTaskNs here -- change N to next digit or other string */
 /*
 task testTaskN(type: Test) {
@@ -1842,10 +1851,16 @@ tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}.all { te
     showExceptions true
     showCauses true
     showStackTraces true
-
+    if (test_output) {
+      showStandardStreams true
+    }
     info.events = [ TestLogEvent.FAILED ]
   }
 
+  if (OperatingSystem.current().isMacOsX()) {
+    testTask.systemProperty "apple.awt.UIElement", "true"
+    testTask.environment "JAVA_TOOL_OPTIONS", "-Dapple.awt.UIElement=true"
+  }
 
 
   ignoreFailures = true // Always try to run all tests for all modules
@@ -2017,7 +2032,6 @@ private static void printResults(allResults) {
 /* END of test tasks results summary */
 
 
-/*
 task compileLinkCheck(type: JavaCompile) {
   options.fork = true
   classpath = files("${jalviewDir}/${utils_dir}")
@@ -2052,7 +2066,6 @@ task linkCheck(type: JavaExec) {
   inputs.dir(helpBuildDir)
   outputs.file(helpLinksCheckerOutFile)
 }
-*/
 
 
 // import the pubhtmlhelp target
@@ -2067,14 +2080,10 @@ 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,
@@ -2084,8 +2093,8 @@ jar {
     "Implementation-Version": JALVIEW_VERSION
   }
 
-  def destinationDirectory = "${jalviewDir}/${package_dir}"
-  destinationDirectory = file(destinationDirectory)
+  def outputDir = "${jalviewDir}/${package_dir}"
+  destinationDirectory = file(outputDir)
   archiveFileName = rootProject.name+".jar"
   duplicatesStrategy "EXCLUDE"
 
@@ -2096,11 +2105,11 @@ jar {
   exclude "**/*.jar"
   exclude "**/*.jar.*"
 
-  inputs.dir(sourceSets.main.java.destinationDirectory)
+  inputs.dir(sourceSets.main.java.outputDir)
   sourceSets.main.resources.srcDirs.each{ dir ->
     inputs.dir(dir)
   }
-  outputs.file("${destinationDirectory}/${archiveFileName}")
+  outputs.file("${outputDir}/${archiveFileName}")
 }
 
 
@@ -2141,25 +2150,59 @@ task cleanDist {
 }
 
 
+task launcherJar(type: Jar) {
+  manifest {
+      attributes (
+        "Main-Class": shadow_jar_main_class,
+        "Implementation-Version": JALVIEW_VERSION,
+        "Application-Name": applicationName
+      )
+  }
+}
+
 shadowJar {
   group = "distribution"
   description = "Create a single jar file with all dependency libraries merged. Can be run with java -jar"
   if (buildDist) {
     dependsOn makeDist
   }
-  from ("${jalviewDir}/${libDistDir}") {
-    include("*.jar")
-  }
+
+  def jarFiles = fileTree(dir: "${jalviewDir}/${libDistDir}", include: "*.jar", exclude: "regex.jar").getFiles()
+  def groovyJars = jarFiles.findAll {it1 -> file(it1).getName().startsWith("groovy-swing")}
+  def otherJars = jarFiles.findAll {it2 -> !file(it2).getName().startsWith("groovy-swing")}
+  from groovyJars
+  from otherJars
+
   manifest {
-    attributes "Implementation-Version": JALVIEW_VERSION,
-    "Application-Name": applicationName
+    // shadowJar manifest must inheritFrom another Jar task.  Can't set attributes here.
+    inheritFrom(project.tasks.launcherJar.manifest)
+  }
+  // we need to include the groovy-swing Include-Package for it to run in the shadowJar
+  doFirst {
+    def jarFileManifests = []
+    groovyJars.each { jarFile ->
+      def mf = zipTree(jarFile).getFiles().find { it.getName().equals("MANIFEST.MF") }
+      if (mf != null) {
+        jarFileManifests += mf
+      }
+    }
+    manifest {
+      from (jarFileManifests) {
+        eachEntry { details ->
+          if (!details.key.equals("Import-Package")) {
+            details.exclude()
+          }
+        }
+      }
+    }
   }
 
   duplicatesStrategy "INCLUDE"
 
+  // 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()
-  archiveClassifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
+  classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
   minimize()
 }
 
@@ -2210,9 +2253,9 @@ task getdownImages() {
   dependsOn getdownImagesProcess
 }
 
-task getdownWebsite() {
+task getdownWebsiteBuild() {
   group = "distribution"
-  description = "Create the getdown minimal app folder, and website folder for this version of jalview. Website folder also used for offline app installer"
+  description = "Create the getdown minimal app folder, and website folder for this version of jalview. Website folder also used for offline app installer. No digest is created."
 
   dependsOn getdownImages
   if (buildDist) {
@@ -2324,7 +2367,7 @@ task getdownWebsite() {
           from s
           into "${getdownAppBaseDir}/${getdown_wrapper_script_dir}"
         }
-        getdownTextLines += "resource = ${getdown_wrapper_script_dir}/${script}"
+        getdownTextLines += "xresource = ${getdown_wrapper_script_dir}/${script}"
       }
     }
 
@@ -2466,7 +2509,9 @@ task getdownDigestDir(type: JavaExec) {
 task getdownDigest(type: JavaExec) {
   group = "distribution"
   description = "Digest the getdown website folder"
-  dependsOn getdownWebsite
+
+  dependsOn getdownWebsiteBuild
+
   doFirst {
     classpath = files(getdownLauncher)
   }
@@ -2499,12 +2544,19 @@ task getdown() {
   }
 }
 
+task getdownWebsite {
+  group = "distribution"
+  description = "A task to create the whole getdown channel website dir including digest file"
+
+  dependsOn getdownWebsiteBuild
+  dependsOn getdownDigest
+}
 
 task getdownArchiveBuild() {
   group = "distribution"
   description = "Put files in the archive dir to go on the website"
 
-  dependsOn getdownWebsite
+  dependsOn getdownWebsiteBuild
 
   def v = "v${JALVIEW_VERSION_UNDERSCORES}"
   def vDir = "${getdownArchiveDir}/${v}"
@@ -3014,6 +3066,7 @@ task sourceDist(type: Tar) {
   into project.name
 
   def EXCLUDE_FILES=[
+    "dist/*",
     "build/*",
     "bin/*",
     "test-output/",
@@ -3330,10 +3383,10 @@ task jalviewjsEclipseCopyDropins(type: Copy) {
 
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_eclipse_dropins_dir}", include: "*.jar")
   inputFiles += file("${jalviewDir}/${jalviewjsJ2sPlugin}")
-  def destinationDirectory = "${jalviewDir}/${jalviewjsBuildDir}/${jalviewjs_eclipse_tmp_dropins_dir}"
+  def outputDir = "${jalviewDir}/${jalviewjsBuildDir}/${jalviewjs_eclipse_tmp_dropins_dir}"
 
   from inputFiles
-  into destinationDirectory
+  into outputDir
 }
 
 
@@ -3441,13 +3494,13 @@ task jalviewjsSyncAllLibs (type: Sync) {
   dependsOn jalviewjsTransferUnzipAllLibs
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteLibDir}")
   inputFiles += fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}")
-  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
-  into destinationDirectory
+  into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${destinationDirectory}/${filename}"
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   preserve {
@@ -3466,13 +3519,13 @@ task jalviewjsSyncResources (type: Sync) {
   dependsOn buildResources
 
   def inputFiles = fileTree(dir: resourcesBuildDir)
-  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
 
   from inputFiles
-  into destinationDirectory
+  into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${destinationDirectory}/${filename}"
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   preserve {
@@ -3485,13 +3538,13 @@ task jalviewjsSyncResources (type: Sync) {
 
 task jalviewjsSyncSiteResources (type: Sync) {
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_site_resource_dir}")
-  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
-  into destinationDirectory
+  into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${destinationDirectory}/${filename}"
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   preserve {
@@ -3505,13 +3558,13 @@ task jalviewjsSyncSiteResources (type: Sync) {
 task jalviewjsSyncBuildProperties (type: Sync) {
   dependsOn createBuildProperties
   def inputFiles = [file(buildProperties)]
-  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
 
   from inputFiles
-  into destinationDirectory
+  into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${destinationDirectory}/${filename}"
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   preserve {
@@ -3730,7 +3783,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 destinationDirectory = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
+  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
   def prefixFile = "${jsDir}/core/coretop2.js"
   def suffixFile = "${jsDir}/core/corebottom2.js"
 
@@ -3774,8 +3827,8 @@ task jalviewjsBuildAllCores {
     }
     def list = fileTree(dir: j2sDir, includes: filelist)
 
-    def jsfile = "${destinationDirectory}/core${name}.js"
-    def zjsfile = "${destinationDirectory}/core${name}.z.js"
+    def jsfile = "${outputDir}/core${name}.js"
+    def zjsfile = "${outputDir}/core${name}.z.js"
 
     jalviewjsCoreClasslists += [
       'jsfile': jsfile,
@@ -3793,8 +3846,8 @@ task jalviewjsBuildAllCores {
   // _stevesoft core. add any cores without a classlist here (and the inputs and outputs)
   def stevesoftClasslistName = "_stevesoft"
   def stevesoftClasslist = [
-    'jsfile': "${destinationDirectory}/core${stevesoftClasslistName}.js",
-    'zjsfile': "${destinationDirectory}/core${stevesoftClasslistName}.z.js",
+    'jsfile': "${outputDir}/core${stevesoftClasslistName}.js",
+    'zjsfile': "${outputDir}/core${stevesoftClasslistName}.z.js",
     'list': fileTree(dir: j2sDir, include: "com/stevesoft/pat/**/*.js"),
     'name': stevesoftClasslistName
   ]
@@ -3827,8 +3880,8 @@ task jalviewjsBuildAllCores {
     ]
   )
   def allClasslist = [
-    'jsfile': "${destinationDirectory}/core${allClasslistName}.js",
-    'zjsfile': "${destinationDirectory}/core${allClasslistName}.z.js",
+    'jsfile': "${outputDir}/core${allClasslistName}.js",
+    'zjsfile': "${outputDir}/core${allClasslistName}.z.js",
     'list': allJsFiles,
     'name': allClasslistName
   ]
@@ -3881,11 +3934,11 @@ task jalviewjsPublishCoreTemplates {
   dependsOn jalviewjsBuildAllCores
   def inputFileName = "${jalviewDir}/${j2s_coretemplate_html}"
   def inputFile = file(inputFileName)
-  def destinationDirectory = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
+  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
 
   def outputFiles = []
   jalviewjsCoreClasslists.each { cl ->
-    def outputFile = "${destinationDirectory}/${jalviewjsJalviewTemplateName}_${cl.name}.html"
+    def outputFile = "${outputDir}/${jalviewjsJalviewTemplateName}_${cl.name}.html"
     cl['outputfile'] = outputFile
     outputFiles += outputFile
   }
@@ -3904,13 +3957,13 @@ task jalviewjsSyncCore (type: Sync) {
   dependsOn jalviewjsBuildAllCores
   dependsOn jalviewjsPublishCoreTemplates
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteCoreDir}")
-  def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
-  into destinationDirectory
+  into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += "${destinationDirectory}/${filename}"
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   preserve {
index 547304f..79fb11d 100644 (file)
@@ -28,6 +28,8 @@ jalview_keydig = SHA1
 
 testng_groups = Functional
 testng_excluded_groups = 
+test_output =
 
 j8libDir = j8lib
 j11libDir = j11lib
@@ -177,7 +179,7 @@ imagemagick_convert = ~/buildtools/imagemagick/bin/convert
 
 bamboo_channelbase = https://builds.jalview.org/browse
 bamboo_planKey = 
-bamboo_getdown_channel_suffix = /latest/artifact/shared/getdown-channel
+bamboo_getdown_channel_suffix = /latest/artifact/shared/getdown-build-for-website/default
 
 eclipse_codestyle_file = utils/eclipse/JalviewCodeStyle.xml
 eclipse_extra_jdt_prefs_file = utils/eclipse/org.eclipse.jdt.core.jalview.prefs