JAL-3120 consistent paths/property interpolation in build.gradle. Test classes. Clean...
authorBen Soares <bsoares@dundee.ac.uk>
Thu, 24 Oct 2019 18:41:27 +0000 (19:41 +0100)
committerBen Soares <bsoares@dundee.ac.uk>
Thu, 24 Oct 2019 18:41:27 +0000 (19:41 +0100)
.gitignore
build.gradle
gradle.properties
utils/jalviewjs/test/src/jalview/bin/Jalview.java [new file with mode: 0644]
utils/jalviewjs/test/test/jalview/bin/Test.java [new file with mode: 0644]

index 9c0d393..c30231b 100644 (file)
@@ -33,3 +33,5 @@ TESTNG
 /.j2s
 /template.html
 /jalviewjsTest.html
+/site1
+/site2
index 63665a9..48033f1 100644 (file)
@@ -53,97 +53,97 @@ def compile_source_compatibility
 def compile_target_compatibility
 
 ext {
-  getdownWebsiteDir = jalviewDir + '/' + getdown_website_dir + '/' + JAVA_VERSION
+  getdownWebsiteDir = "${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}"
   getdownDir = ""
   reportRsyncCmd = false
   buildDist = true
   buildProperties = buildPropertiesFile
-  getdownLauncher = jalviewDir + '/' + getdown_lib_dir + '/' + getdown_launcher
+  getdownLauncher = "${jalviewDir}/${getdown_lib_dir}/${getdown_launcher}"
   switch (CHANNEL) {
 
     case "BUILD":
     // TODO: get bamboo build artifact URL for getdown artifacts
     getdown_channel_base = bamboo_channelbase
-    getdown_channel_name = bamboo_planKey + '/'+JAVA_VERSION
-    getdown_app_base = bamboo_channelbase + '/'+ bamboo_planKey + bamboo_getdown_channel_suffix + '/'+JAVA_VERSION
+    getdown_channel_name = "${bamboo_planKey}/${JAVA_VERSION}"
+    getdown_app_base = "${bamboo_channelbase}/${bamboo_planKey}${bamboo_getdown_channel_suffix}/${JAVA_VERSION}"
     getdown_app_dir = getdown_app_dir_alt
-    buildProperties = jalviewDir + "/" + classesDir +"/" + buildPropertiesFile
+    buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
     break
 
     case "RELEASE":
     getdown_channel_name = CHANNEL.toLowerCase()
-    getdownDir = getdown_channel_name + "/" + JAVA_VERSION
-    getdown_app_base = getdown_channel_base + "/" + getdownDir
+    getdownDir = "${getdown_channel_name}/${JAVA_VERSION}"
+    getdown_app_base = "${getdown_channel_base}/${getdownDir}"
     getdown_app_dir = getdown_app_dir_release
-    buildProperties = jalviewDir + "/" + classesDir +"/" + buildPropertiesFile
+    buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
     reportRsyncCommand = true
     break
 
     case "ARCHIVE":
-    getdown_channel_name = CHANNEL.toLowerCase()+"/"+JALVIEW_VERSION
-    getdownDir = getdown_channel_name + "/" + JAVA_VERSION
-    getdown_app_base = getdown_channel_base + "/" + getdownDir
+    getdown_channel_name = CHANNEL.toLowerCase()+"/${JALVIEW_VERSION}"
+    getdownDir = "${getdown_channel_name}/${JAVA_VERSION}"
+    getdown_app_base = "${getdown_channel_base}/${getdownDir}"
     getdown_app_dir = getdown_app_dir_alt
-    if (!file(ARCHIVEDIR+"/"+packageDir).exists()) {
+    if (!file("${ARCHIVEDIR}/${packageDir}").exists()) {
       print "Must provide an ARCHIVEDIR value to produce an archive distribution"
       exit
     } else {
-      packageDir = ARCHIVEDIR + "/" + packageDir
-      buildProperties = ARCHIVEDIR +"/" + classesDir + "/" + buildPropertiesFile
+      packageDir = "${ARCHIVEDIR}/${packageDir}"
+      buildProperties = "${ARCHIVEDIR}/${classesDir}/${buildPropertiesFile}"
       buildDist = false
     }
     reportRsyncCommand = true
     break
 
     case "ARCHIVELOCAL":
-    getdown_channel_name = "archive" + "/" + JALVIEW_VERSION
-    getdownDir = getdown_channel_name + "/" + JAVA_VERSION
+    getdown_channel_name = "archive/${JALVIEW_VERSION}"
+    getdownDir = "${getdown_channel_name}/${JAVA_VERSION}"
     getdown_app_base = file(getdownWebsiteDir).toURI().toString()
     getdown_app_dir = getdown_app_dir_alt
-    if (!file(ARCHIVEDIR+"/"+packageDir).exists()) {
+    if (!file("${ARCHIVEDIR}/${packageDir}").exists()) {
       print "Must provide an ARCHIVEDIR value to produce an archive distribution"
       exit
     } else {
-      packageDir = ARCHIVEDIR + "/" + packageDir
-      buildProperties = ARCHIVEDIR +"/" + classesDir + "/" + buildPropertiesFile
+      packageDir = "${ARCHIVEDIR}/${packageDir}"
+      buildProperties = "${ARCHIVEDIR}/${classesDir}/${buildPropertiesFile}"
       buildDist = false
     }
     reportRsyncCommand = true
-    getdownLauncher = jalviewDir + '/' + getdown_lib_dir + '/' + getdown_launcher_local
+    getdownLauncher = "${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}"
     break
 
     case "DEVELOP":
     getdown_channel_name = CHANNEL.toLowerCase()
-    getdownDir = getdown_channel_name + "/" + JAVA_VERSION
-    getdown_app_base = getdown_channel_base + "/" + getdownDir
+    getdownDir = "${getdown_channel_name}/${JAVA_VERSION}"
+    getdown_app_base = "${getdown_channel_base}/${getdownDir}"
     getdown_app_dir = getdown_app_dir_alt
-    buildProperties = jalviewDir + "/" + classesDir +"/" + buildPropertiesFile
+    buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
     reportRsyncCommand = true
     break
 
     case "TEST-RELEASE":
     getdown_channel_name = CHANNEL.toLowerCase()
-    getdownDir = getdown_channel_name + "/" + JAVA_VERSION
-    getdown_app_base = getdown_channel_base + "/" + getdownDir
+    getdownDir = "${getdown_channel_name}/${JAVA_VERSION}"
+    getdown_app_base = "${getdown_channel_base}/${getdownDir}"
     getdown_app_dir = getdown_app_dir_alt
-    buildProperties = jalviewDir + "/" + classesDir +"/" + buildPropertiesFile
+    buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
     reportRsyncCommand = true
     break
 
     case ~/^SCRATCH(|-[-\w]*)$/:
     getdown_channel_name = CHANNEL
-    getdownDir = getdown_channel_name + "/" + JAVA_VERSION
-    getdown_app_base = getdown_channel_base + "/" + getdownDir
+    getdownDir = "${getdown_channel_name}/${JAVA_VERSION}"
+    getdown_app_base = "${getdown_channel_base}/${getdownDir}"
     getdown_app_dir = getdown_app_dir_alt
-    buildProperties = jalviewDir + "/" + classesDir +"/" + buildPropertiesFile
+    buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
     reportRsyncCommand = true
     break
 
     case "LOCAL":
     getdown_app_base = file(getdownWebsiteDir).toURI().toString()
     getdown_app_dir = getdown_app_dir_alt
-    buildProperties = jalviewDir + "/" + classesDir +"/" + buildPropertiesFile
-    getdownLauncher = jalviewDir + '/' + getdown_lib_dir + '/' + getdown_launcher_local
+    buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
+    getdownLauncher = "${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}"
     break
 
     default: // something wrong specified
@@ -153,15 +153,15 @@ ext {
 
   }
 
-  println("Using a "+CHANNEL+" profile. appbase="+getdown_app_base)
-  getdownAppDir = getdownWebsiteDir + '/' + getdown_app_dir
-  //getdownJ11libDir = getdownWebsiteDir + '/' + getdown_j11lib_dir
-  getdownResourceDir = getdownWebsiteDir + '/' + getdown_resource_dir
-  getdownInstallDir = getdownWebsiteDir + '/' + getdown_install_dir
-  getdownFilesDir = jalviewDir + '/' + getdown_files_dir + '/' + JAVA_VERSION + '/'
-  getdownFilesInstallDir = getdownFilesDir+"/"+getdown_install_dir
+  println("Using a ${CHANNEL} profile. appbase=${getdown_app_base}")
+  getdownAppDir = "${getdownWebsiteDir}/${getdown_app_dir}"
+  //getdownJ11libDir = "${getdownWebsiteDir}/${getdown_j11lib_dir}"
+  getdownResourceDir = "${getdownWebsiteDir}/${getdown_resource_dir}"
+  getdownInstallDir = "${getdownWebsiteDir}/${getdown_install_dir}"
+  getdownFilesDir = "${jalviewDir}/${getdown_files_dir}/${JAVA_VERSION}/"
+  getdownFilesInstallDir = "${getdownFilesDir}/${getdown_install_dir}"
   /* compile without modules -- using classpath libraries
-  modules_compileClasspath = fileTree(dir: "$jalviewDir/$j11modDir", include: ["*.jar"])
+  modules_compileClasspath = fileTree(dir: "${jalviewDir}/${j11modDir}", include: ["*.jar"])
   modules_runtimeClasspath = modules_compileClasspath
   */
   gitHash = ""
@@ -222,25 +222,25 @@ if (JAVA_VERSION.equals("1.8")) {
   ]
   */
 } else {
-  throw new GradleException("JAVA_VERSION=$JAVA_VERSION not currently supported by Jalview")
+  throw new GradleException("JAVA_VERSION=${JAVA_VERSION} not currently supported by Jalview")
 }
 
 sourceSets {
 
   main {
     java {
-      srcDirs "$jalviewDir/$sourceDir"
-      outputDir = file("$classes")
+      srcDirs "${jalviewDir}/${sourceDir}"
+      outputDir = file("${classes}")
     }
 
     resources {
-      srcDirs "$jalviewDir/$resourceDir"
+      srcDirs "${jalviewDir}/${resourceDir}"
     }
 
-    jar.destinationDir = file("$jalviewDir/$packageDir")
+    jar.destinationDir = file("${jalviewDir}/${packageDir}")
 
     compileClasspath = files(sourceSets.main.java.outputDir)
-    compileClasspath += fileTree(dir: "$jalviewDir/$libDir", include: ["*.jar"])
+    compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
 
     runtimeClasspath = compileClasspath
   }
@@ -257,16 +257,16 @@ sourceSets {
     compileClasspath = configurations.cloverRuntime + files( sourceSets.clover.java.outputDir )
     compileClasspath += files(sourceSets.main.java.outputDir)
     compileClasspath += sourceSets.main.compileClasspath
-    compileClasspath += fileTree(dir: "$jalviewDir/$utilsDir", include: ["**/*.jar"])
-    compileClasspath += fileTree(dir: "$jalviewDir/$libDir", include: ["*.jar"])
+    compileClasspath += fileTree(dir: "${jalviewDir}/${utilsDir}", include: ["**/*.jar"])
+    compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
 
     runtimeClasspath = compileClasspath
   }
 
   test {
     java {
-      srcDirs "$jalviewDir/$testSourceDir"
-      outputDir = file("$jalviewDir/$testOutputDir")
+      srcDirs "${jalviewDir}/${testSourceDir}"
+      outputDir = file("${jalviewDir}/${testOutputDir}")
     }
 
     resources {
@@ -281,9 +281,9 @@ sourceSets {
       compileClasspath += files(sourceSets.main.java.outputDir)
     }
 
-    compileClasspath += fileTree(dir: "$jalviewDir/$libDir", include: ["*.jar"])
-    compileClasspath += fileTree(dir: "$jalviewDir/$utilsDir/testnglibs", include: ["**/*.jar"])
-    compileClasspath += fileTree(dir: "$jalviewDir/$utilsDir/testlibs", include: ["**/*.jar"])
+    compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
+    compileClasspath += fileTree(dir: "${jalviewDir}/${utilsDir}/testnglibs", include: ["**/*.jar"])
+    compileClasspath += fileTree(dir: "${jalviewDir}/${utilsDir}/testlibs", include: ["**/*.jar"])
 
     runtimeClasspath = compileClasspath
   }
@@ -332,7 +332,7 @@ eclipse {
         HashMap<String, Boolean> alreadyAddedSrcPath = new HashMap<>();
         cp.entries.each { entry ->
           if (entry.kind == 'src') {
-            if (alreadyAddedSrcPath.getAt(entry.path) || !(entry.path == "src" || entry.path == "test")) {
+            if (alreadyAddedSrcPath.getAt(entry.path) || !(entry.path == sourceDir || entry.path == testSourceDir)) {
               removeTheseToo += entry
             } else {
               alreadyAddedSrcPath.putAt(entry.path, true)
@@ -341,8 +341,8 @@ eclipse {
         }
         cp.entries.removeAll(removeTheseToo)
 
-        if (file(eclipse_bin_dir+"/main").isDirectory()) {
-          cp.entries += new Output(eclipse_bin_dir+"/main")
+        if (file("${jalviewDir}/${eclipse_bin_dir}/main").isDirectory()) {
+          cp.entries += new Output("${eclipse_bin_dir}/main")
         }
         if (file(helpParentDir).isDirectory()) {
           cp.entries += new Library(fileReference(helpParentDir))
@@ -360,7 +360,7 @@ eclipse {
             return
           }
           def itPath = it.toString()
-          if (itPath.startsWith(jalviewDirAbsolutePath+"/")) {
+          if (itPath.startsWith("${jalviewDirAbsolutePath}/")) {
             // make relative path
             itPath = itPath.substring(jalviewDirAbsolutePath.length()+1)
           }
@@ -381,7 +381,7 @@ eclipse {
             return false // groovy "break" in .each closure
           }
           def itPath = it.toString()
-          if (itPath.startsWith(jalviewDirAbsolutePath+"/")) {
+          if (itPath.startsWith("${jalviewDirAbsolutePath}/")) {
             itPath = itPath.substring(jalviewDirAbsolutePath.length()+1)
           }
           if (alreadyAddedLibPath.get(itPath)) {
@@ -412,7 +412,7 @@ eclipse {
     file {
       withProperties { props ->
         def jalview_prefs = new Properties()
-        def ins = new FileInputStream(jalviewDirAbsolutePath+"/"+eclipse_extra_jdt_prefs_file)
+        def ins = new FileInputStream("${jalviewDirAbsolutePath}/${eclipse_extra_jdt_prefs_file}")
         jalview_prefs.load(ins)
         ins.close()
         jalview_prefs.forEach { t, v ->
@@ -550,9 +550,9 @@ task setGitVals {
 
 task createBuildProperties(type: WriteProperties) {
   dependsOn setGitVals
-  inputs.dir("$jalviewDir/$sourceDir")
-  inputs.dir("$classes")
-  inputs.dir("$jalviewDir/$resourceDir")
+  inputs.dir("${jalviewDir}/${sourceDir}")
+  inputs.dir("${classes}")
+  inputs.dir("${jalviewDir}/${resourceDir}")
   outputFile (buildProperties)
   // taking time specific comment out to allow better incremental builds
   comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd HH:mm:ss")
@@ -563,7 +563,7 @@ task createBuildProperties(type: WriteProperties) {
   outputs.file(outputFile)
 }
 
-def buildingHTML = "$jalviewDir/$docDir/building.html"
+def buildingHTML = "${jalviewDir}/${docDir}/building.html"
 task cleanBuildingHTML(type: Delete) {
   doFirst {
     delete buildingHTML
@@ -572,8 +572,8 @@ task cleanBuildingHTML(type: Delete) {
 
 task convertBuildingMD(type: Exec) {
   dependsOn cleanBuildingHTML
-  def buildingMD = "$jalviewDir/$docDir/building.md"
-  def css = "$jalviewDir/$docDir/github.css"
+  def buildingMD = "${jalviewDir}/${docDir}/building.md"
+  def css = "${jalviewDir}/${docDir}/github.css"
 
   def pandoc = null
   pandoc_exec.split(",").each {
@@ -612,17 +612,17 @@ clean {
 
 task syncDocs(type: Sync) {
   dependsOn convertBuildingMD
-  def syncDir = "$classes/$docDir"
-  from fileTree("$jalviewDir/$docDir")
+  def syncDir = "${classes}/${docDir}"
+  from fileTree("${jalviewDir}/${docDir}")
   into syncDir
 
 }
 
-def helpFile = "$classes/$helpDir/help.jhm"
+def helpFile = "${classes}/${helpDir}/help.jhm"
 
 task copyHelp(type: Copy) {
-  def inputDir = "$jalviewDir/$helpParentDir/$helpDir"
-  def outputDir = "$classes/$helpDir"
+  def inputDir = "${jalviewDir}/${helpParentDir}/${helpDir}"
+  def outputDir = "${classes}/${helpDir}"
   from(inputDir) {
     exclude '**/*.gif'
       exclude '**/*.jpg'
@@ -642,16 +642,16 @@ task copyHelp(type: Copy) {
 }
 
 task syncLib(type: Sync) {
-  def syncDir = "$classes/$libDistDir"
-  from fileTree("$jalviewDir/$libDistDir")
+  def syncDir = "${classes}/${libDistDir}"
+  from fileTree("${jalviewDir}/${libDistDir}")
   into syncDir
 }
 
 task syncResources(type: Sync) {
-  from "$jalviewDir/$resourceDir"
+  from "${jalviewDir}/${resourceDir}"
   include "**/*.*"
   exclude "install4j"
-  into "$classes"
+  into "${classes}"
   preserve {
     include "**"
   }
@@ -694,59 +694,59 @@ task buildIndices(type: JavaExec) {
   dependsOn copyHelp
   classpath = sourceSets.main.compileClasspath
   main = "com.sun.java.help.search.Indexer"
-  workingDir = "$classes/$helpDir"
+  workingDir = "${classes}/${helpDir}"
   def argDir = "html"
   args = [ argDir ]
-  inputs.dir("$workingDir/$argDir")
+  inputs.dir("${workingDir}/${argDir}")
 
-  outputs.dir("$classes/doc")
-  outputs.dir("$classes/help")
-  outputs.file("$workingDir/JavaHelpSearch/DOCS")
-  outputs.file("$workingDir/JavaHelpSearch/DOCS.TAB")
-  outputs.file("$workingDir/JavaHelpSearch/OFFSETS")
-  outputs.file("$workingDir/JavaHelpSearch/POSITIONS")
-  outputs.file("$workingDir/JavaHelpSearch/SCHEMA")
-  outputs.file("$workingDir/JavaHelpSearch/TMAP")
+  outputs.dir("${classes}/doc")
+  outputs.dir("${classes}/help")
+  outputs.file("${workingDir}/JavaHelpSearch/DOCS")
+  outputs.file("${workingDir}/JavaHelpSearch/DOCS.TAB")
+  outputs.file("${workingDir}/JavaHelpSearch/OFFSETS")
+  outputs.file("${workingDir}/JavaHelpSearch/POSITIONS")
+  outputs.file("${workingDir}/JavaHelpSearch/SCHEMA")
+  outputs.file("${workingDir}/JavaHelpSearch/TMAP")
 }
 
 task compileLinkCheck(type: JavaCompile) {
   options.fork = true
-  classpath = files("$jalviewDir/$utilsDir")
-  destinationDir = file("$jalviewDir/$utilsDir")
-  source = fileTree(dir: "$jalviewDir/$utilsDir", include: ["HelpLinksChecker.java", "BufferedLineReader.java"])
+  classpath = files("${jalviewDir}/${utilsDir}")
+  destinationDir = file("${jalviewDir}/${utilsDir}")
+  source = fileTree(dir: "${jalviewDir}/${utilsDir}", include: ["HelpLinksChecker.java", "BufferedLineReader.java"])
 
-  inputs.file("$jalviewDir/$utilsDir/HelpLinksChecker.java")
-  inputs.file("$jalviewDir/$utilsDir/HelpLinksChecker.java")
-  outputs.file("$jalviewDir/$utilsDir/HelpLinksChecker.class")
-  outputs.file("$jalviewDir/$utilsDir/BufferedLineReader.class")
+  inputs.file("${jalviewDir}/${utilsDir}/HelpLinksChecker.java")
+  inputs.file("${jalviewDir}/${utilsDir}/HelpLinksChecker.java")
+  outputs.file("${jalviewDir}/${utilsDir}/HelpLinksChecker.class")
+  outputs.file("${jalviewDir}/${utilsDir}/BufferedLineReader.class")
 }
 
-def helplinkscheckertouchfile = file("$jalviewDir/$utilsDir/HelpLinksChecker.touch")
+def helplinkscheckertouchfile = file("${jalviewDir}/${utilsDir}/HelpLinksChecker.touch")
 task linkCheck(type: JavaExec) {
   dependsOn prepare, compileLinkCheck
-  classpath = files("$jalviewDir/$utilsDir")
+  classpath = files("${jalviewDir}/${utilsDir}")
   main = "HelpLinksChecker"
   workingDir = jalviewDir
-  def help = "$classes/$helpDir"
-  args = [ "$classes/$helpDir", "-nointernet" ]
+  def help = "${classes}/${helpDir}"
+  args = [ "${classes}/${helpDir}", "-nointernet" ]
 
   doLast {
     helplinkscheckertouchfile.createNewFile()
   }
 
-  inputs.dir("$classes/$helpDir")
+  inputs.dir("${classes}/${helpDir}")
   outputs.file(helplinkscheckertouchfile)
 }
 
 // import the pubhtmlhelp target
-ant.properties.basedir = "$jalviewDir"
-ant.properties.helpBuildDir = jalviewDirAbsolutePath+"/$classes/$helpDir"
-ant.importBuild "$utilsDir/publishHelp.xml"
+ant.properties.basedir = "${jalviewDir}"
+ant.properties.helpBuildDir = "${jalviewDirAbsolutePath}/${classes}/${helpDir}"
+ant.importBuild "${utilsDir}/publishHelp.xml"
 
 
 task cleanPackageDir(type: Delete) {
   doFirst {
-    delete fileTree("$jalviewDir/$packageDir").include("*.jar")
+    delete fileTree(dir: "${jalviewDir}/${packageDir}", include: "*.jar")
   }
 }
 
@@ -762,7 +762,7 @@ jar {
     "Codebase": application_codebase
   }
 
-  destinationDir = file("$jalviewDir/$packageDir")
+  destinationDir = file("${jalviewDir}/${packageDir}")
   archiveName = rootProject.name+".jar"
 
   exclude "cache*/**"
@@ -771,19 +771,19 @@ jar {
   exclude "**/*.jar"
   exclude "**/*.jar.*"
 
-  inputs.dir("$classes")
-  outputs.file("$jalviewDir/$packageDir/$archiveName")
+  inputs.dir("${classes}")
+  outputs.file("${jalviewDir}/${packageDir}/${archiveName}")
 }
 
 task copyJars(type: Copy) {
-  from fileTree("$classes").include("**/*.jar").include("*.jar").files
-  into "$jalviewDir/$packageDir"
+  from fileTree(dir: "${classes}", include: "**/*.jar").files
+  into "${jalviewDir}/${packageDir}"
 }
 
 // doing a Sync instead of Copy as Copy doesn't deal with "outputs" very well
 task syncJars(type: Sync) {
-  from fileTree("$jalviewDir/$libDistDir").include("**/*.jar").include("*.jar").files
-  into "$jalviewDir/$packageDir"
+  from fileTree(dir: "${jalviewDir}/${libDistDir}", include: "**/*.jar").files
+  into "${jalviewDir}/${packageDir}"
   preserve {
     include jar.archiveName
   }
@@ -798,7 +798,7 @@ task makeDist {
   dependsOn cleanPackageDir
   dependsOn syncJars
   dependsOn jar
-  outputs.dir("$jalviewDir/$packageDir")
+  outputs.dir("${jalviewDir}/${packageDir}")
 }
 
 task cleanDist {
@@ -812,7 +812,7 @@ shadowJar {
   if (buildDist) {
     dependsOn makeDist
   }
-  from ("$jalviewDir/$libDistDir") {
+  from ("${jalviewDir}/${libDistDir}") {
     include("*.jar")
   }
   manifest {
@@ -847,7 +847,7 @@ task getdownWebsite() {
       rename(buildPropertiesFile, getdown_build_properties)
       into project.ext.getdownAppDir
     }
-    getdownWebsiteResourceFilenames += getdown_app_dir+"/"+getdown_build_properties
+    getdownWebsiteResourceFilenames += "${getdown_app_dir}/${getdown_build_properties}"
 
     // go through properties looking for getdown_txt_...
     def props = project.properties.sort { it.key }
@@ -865,7 +865,7 @@ task getdownWebsite() {
         if (prop.startsWith("getdown_txt_multi_")) {
           def key = prop.substring(18)
           val.split(",").each{ v ->
-            def line = key + " = " + v + "\n"
+            def line = "${key} = ${v}\n"
             getdownTextString += line
           }
         } else {
@@ -877,16 +877,16 @@ task getdownWebsite() {
               r = file(val)
             } else if (val.indexOf('/') > 0) {
               // relative path (relative to jalviewDir)
-              r = file( jalviewDir + '/' + val )
+              r = file( "${jalviewDir}/${val}" )
             }
             if (r.exists()) {
-              val = getdown_resource_dir + '/' + r.getName()
+              val = "${getdown_resource_dir}/" + r.getName()
               getdownWebsiteResourceFilenames += val
               getdownResourceFilenames += r.getPath()
             }
           }
           if (! prop.startsWith("getdown_txt_resource")) {
-            def line = prop.substring(12) + " = " + val + "\n"
+            def line = prop.substring(12) + " = ${val}\n"
             getdownTextString += line
           }
         }
@@ -894,7 +894,7 @@ task getdownWebsite() {
     }
 
     getdownWebsiteResourceFilenames.each{ filename ->
-      getdownTextString += "resource = "+filename+"\n"
+      getdownTextString += "resource = ${filename}\n"
     }
     getdownResourceFilenames.each{ filename ->
       copy {
@@ -913,7 +913,8 @@ task getdownWebsite() {
       }
     }
     codeFiles.sort().each{f ->
-      def line = "code = " + getdown_app_dir + '/' + f.getName() + "\n"
+      def name = f.getName()
+      def line = "code = ${getdown_app_dir}/${name}\n"
       getdownTextString += line
       copy {
         from f.getPath()
@@ -924,9 +925,10 @@ task getdownWebsite() {
     // NOT USING MODULES YET, EVERYTHING SHOULD BE IN dist
     /*
     if (JAVA_VERSION.equals("11")) {
-    def j11libFiles = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"]).getFiles()
+    def j11libFiles = fileTree(dir: "${jalviewDir}/${j11libDir}", include: ["*.jar"]).getFiles()
     j11libFiles.sort().each{f ->
-    def line = "code = " + getdown_j11lib_dir + '/' + f.getName() + "\n"
+    def name = f.getName()
+    def line = "code = ${getdown_j11lib_dir}/${name}\n"
     getdownTextString += line
     copy {
     from f.getPath()
@@ -938,13 +940,13 @@ task getdownWebsite() {
 
     // getdown-launcher.jar should not be in main application class path so the main application can move it when updated.  Listed as a resource so it gets updated.
     //getdownTextString += "class = " + file(getdownLauncher).getName() + "\n"
-    getdownTextString += "resource = " + getdown_launcher_new + "\n"
-    getdownTextString += "class = " + mainClass + "\n"
+    getdownTextString += "resource = ${getdown_launcher_new}\n"
+    getdownTextString += "class = ${mainClass}\n"
 
-    def getdown_txt = file(project.ext.getdownWebsiteDir + "/getdown.txt")
+    def getdown_txt = file("${project.ext.getdownWebsiteDir}/getdown.txt")
     getdown_txt.write(getdownTextString)
 
-    def launch_jvl = file(project.ext.getdownWebsiteDir + "/" + getdown_launch_jvl)
+    def launch_jvl = file("${project.ext.getdownWebsiteDir}/${getdown_launch_jvl}")
     launch_jvl.write("appbase="+props.get("getdown_txt_appbase"))
 
     copy {
@@ -965,7 +967,7 @@ task getdownWebsite() {
       copy {
         from getdown_txt
         from getdownLauncher
-        from getdownWebsiteDir+"/"+getdown_build_properties
+        from "${getdownWebsiteDir}/${getdown_build_properties}"
         if (file(getdownLauncher).getName() != getdown_launcher) {
           rename(file(getdownLauncher).getName(), getdown_launcher)
         }
@@ -982,7 +984,7 @@ task getdownWebsite() {
       from getdown_txt
       from launch_jvl
       from getdownLauncher
-      from getdownWebsiteDir+"/"+getdown_build_properties
+      from "${getdownWebsiteDir}/${getdown_build_properties}"
       if (file(getdownLauncher).getName() != getdown_launcher) {
         rename(file(getdownLauncher).getName(), getdown_launcher)
       }
@@ -991,12 +993,12 @@ task getdownWebsite() {
 
     copy {
          from getdownResourceDir
-      into project.ext.getdownFilesDir + '/' + getdown_resource_dir
+      into "${project.ext.getdownFilesDir}/${getdown_resource_dir}"
     }
   }
 
   if (buildDist) {
-    inputs.dir(jalviewDir + '/' + packageDir)
+    inputs.dir("${jalviewDir}/${packageDir}")
   }
   outputs.dir(project.ext.getdownWebsiteDir)
   outputs.dir(project.ext.getdownFilesDir)
@@ -1007,12 +1009,12 @@ task getdownDigest(type: JavaExec) {
   description = "Digest the getdown website folder"
   dependsOn getdownWebsite
   doFirst {
-    classpath = files(getdownWebsiteDir + '/' + getdown_launcher)
+    classpath = files("${getdownWebsiteDir}/${getdown_launcher}")
   }
   main = "com.threerings.getdown.tools.Digester"
   args project.ext.getdownWebsiteDir
   inputs.dir(project.ext.getdownWebsiteDir)
-  outputs.file(project.ext.getdownWebsiteDir + '/' + "digest2.txt")
+  outputs.file("${project.ext.getdownWebsiteDir}/digest2.txt")
 }
 
 task getdown() {
@@ -1021,8 +1023,8 @@ task getdown() {
   dependsOn getdownDigest
   doLast {
     if (reportRsyncCommand) {
-      def fromDir = getdownWebsiteDir + (getdownWebsiteDir.endsWith("/")?"":"/")
-      def toDir = getdown_rsync_dest + "/" + getdownDir + (getdownDir.endsWith("/")?"":"/")
+      def fromDir = getdownWebsiteDir + (getdownWebsiteDir.endsWith('/')?'':'/')
+      def toDir = "${getdown_rsync_dest}/${getdownDir}" + (getdownDir.endsWith('/')?'':'/')
       println "LIKELY RSYNC COMMAND:"
       println "mkdir -p '$toDir'\nrsync -avh --delete '$fromDir' '$toDir'"
       if (RUNRSYNC == "true") {
@@ -1069,15 +1071,15 @@ def macosJavaVMDir
 def macosJavaVMTgz
 def windowsJavaVMDir
 def windowsJavaVMTgz
-def install4jDir = "$jalviewDir/$install4jResourceDir"
-def install4jConfFile = "jalview-installers-java"+JAVA_VERSION+".install4j"
-install4jConf = "$install4jDir/$install4jConfFile"
+def install4jDir = "${jalviewDir}/${install4jResourceDir}"
+def install4jConfFile = "jalview-installers-java${JAVA_VERSION}.install4j"
+install4jConf = "${install4jDir}/${install4jConfFile}"
 
 task copyInstall4jTemplate(type: Copy) {
-  macosJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/getdown/macos-jre"+JAVA_VERSION+"/jre"
-  macosJavaVMTgz = System.env.HOME+"/buildtools/jre/openjdk-java_vm/install4j/tgz/macos-jre"+JAVA_VERSION+".tar.gz"
-  windowsJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/getdown/windows-jre"+JAVA_VERSION+"/jre"
-  windowsJavaVMTgz = System.env.HOME+"/buildtools/jre/openjdk-java_vm/install4j/tgz/windows-jre"+JAVA_VERSION+".tar.gz"
+  macosJavaVMDir = "${System.env.HOME}/buildtools/jre/openjdk-java_vm/getdown/macos-jre${JAVA_VERSION}/jre"
+  macosJavaVMTgz = "${System.env.HOME}/buildtools/jre/openjdk-java_vm/install4j/tgz/macos-jre${JAVA_VERSION}.tar.gz"
+  windowsJavaVMDir = "${System.env.HOME}/buildtools/jre/openjdk-java_vm/getdown/windows-jre${JAVA_VERSION}/jre"
+  windowsJavaVMTgz = "${System.env.HOME}/buildtools/jre/openjdk-java_vm/install4j/tgz/windows-jre${JAVA_VERSION}.tar.gz"
   from (install4jDir) {
     include install4jTemplate
     rename (install4jTemplate, install4jConfFile)
@@ -1110,7 +1112,7 @@ task copyInstall4jTemplate(type: Copy) {
 
   doLast {
     // include file associations in installer
-    def installerFileAssociationsXml = file("$install4jDir/$install4jInstallerFileAssociations").text
+    def installerFileAssociationsXml = file("${install4jDir}/${install4jInstallerFileAssociations}").text
     ant.replaceregexp(
       byline: false,
       flags: "s",
@@ -1140,7 +1142,7 @@ task installers(type: com.install4j.gradle.Install4jTask) {
   projectFile = file(install4jConf)
   println("Using projectFile "+projectFile)
   variables = [majorVersion: version.substring(2, 11), build: 001, OSX_KEYSTORE: OSX_KEYSTORE, JSIGN_SH: JSIGN_SH]
-  destination = "$jalviewDir/$install4jBuildDir/$JAVA_VERSION"
+  destination = "${jalviewDir}/${install4jBuildDir}/${JAVA_VERSION}"
   buildSelected = true
 
   if (OSX_KEYPASS) {
@@ -1152,7 +1154,7 @@ task installers(type: com.install4j.gradle.Install4jTask) {
   inputs.file(install4jConf)
   inputs.dir(macosJavaVMDir)
   inputs.dir(windowsJavaVMDir)
-  outputs.dir("$jalviewDir/$install4jBuildDir/$JAVA_VERSION")
+  outputs.dir("${jalviewDir}/${install4jBuildDir}/${JAVA_VERSION}")
 
 }
 
@@ -1165,7 +1167,7 @@ clean {
 task sourceDist (type: Tar) {
   
   def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_")
-  def outputFileName = project.name + "_" + VERSION_UNDERSCORES + ".tar.gz"
+  def outputFileName = "${project.name}_${VERSION_UNDERSCORES}.tar.gz"
   // cater for buildship < 3.1 [3.0.1 is max version in eclipse 2018-09]
   try {
     archiveFileName = outputFileName
@@ -1182,7 +1184,7 @@ task sourceDist (type: Tar) {
   ,"benchmarking/*"
   ,"**/.*"
   ,"*.class"
-  ,"**/*.class","$j11modDir/**/*.jar","appletlib","**/*locales"
+  ,"**/*.class","${j11modDir}/**/*.jar","appletlib","**/*locales"
   ,"*locales/**",
   ,"utils/InstallAnywhere"] 
   def PROCESS_FILES=[   "AUTHORS",
@@ -1222,7 +1224,7 @@ task sourceDist (type: Tar) {
   exclude (getdown_website_dir)
 
   // exluding these as not using jars as modules yet
-  exclude ("$j11modDir/**/*.jar")
+  exclude ("${j11modDir}/**/*.jar")
 }
 //  from (jalviewDir) {
 //    // explicit includes for stuff that seemed to not get included
@@ -1236,8 +1238,8 @@ task helppages  {
   dependsOn copyHelp
   dependsOn pubhtmlhelp
   
-  inputs.dir("$classes/$helpDir")
-  outputs.dir("$helpOutputDir")
+  inputs.dir("${classes}/${helpDir}")
+  outputs.dir("${helpOutputDir}")
 }
 
 def jalviewjsBuildDir
@@ -1246,12 +1248,12 @@ def jalviewjsTransferSiteDir
 task jalviewjsSitePath {
   def relativeBuildDir = file(jalviewDirAbsolutePath).toPath().relativize(buildDir.toPath())
   jalviewjsBuildDir = "${relativeBuildDir}/jalviewjs"
-  if (jalviewjs_site_dir.startsWith("/")) {
+  if (jalviewjs_site_dir.startsWith('/')) {
     jalviewjsSiteDir = jalviewjs_site_dir
   } else {
-    jalviewjsSiteDir = jalviewjsBuildDir + "/" + jalviewjs_site_dir
+    jalviewjsSiteDir = "${jalviewjsBuildDir}/${jalviewjs_site_dir}"
   }
-  jalviewjsTransferSiteDir = jalviewjsBuildDir + "/tmp/site"
+  jalviewjsTransferSiteDir = "${jalviewjsBuildDir}/tmp/site"
 }
 
 def eclipseWorkspace
@@ -1298,8 +1300,8 @@ task jalviewjsSetEclipseWorkspace {
 task jalviewjsUnzipFiles {
   dependsOn jalviewjsSitePath
 
-  def zipFiles = fileTree(dir: jalviewjs_utils_dir+"/"+jalviewjs_libjs_dir).include("*.zip")
-  zipFiles += jalviewjs_utils_dir+"/"+jalviewjs_swingjs_zip
+  def zipFiles = fileTree(dir: "${jalviewjs_utils_dir}/${jalviewjs_libjs_dir}", include: "*.zip")
+  zipFiles += "${jalviewjs_utils_dir}/${jalviewjs_swingjs_zip}"
 
   doLast {
     zipFiles.each { file_zip -> 
@@ -1327,31 +1329,34 @@ task jalviewjsEclipsePaths {
   }
   if (OperatingSystem.current().isMacOsX()) {
     eclipseRoot += "/Eclipse.app"
-    eclipseDropinsDir = eclipseRoot+"/Contents/Eclipse/dropins"
-    eclipseBinary = eclipseRoot+"/Contents/MacOS/eclipse"
-    eclipseProduct = eclipseRoot+"/Contents/Eclipse/.eclipseproduct"
+    eclipseDropinsDir = "${eclipseRoot}/Contents/Eclipse/dropins"
+    eclipseBinary = "${eclipseRoot}/Contents/MacOS/eclipse"
+    eclipseProduct = "${eclipseRoot}/Contents/Eclipse/.eclipseproduct"
   } else if (OperatingSystem.current().isWindows()) { // check these paths!!
-    if (file(eclipseRoot+"/eclipse").isDirectory() && file(eclipseRoot+"/eclipse/.eclipseproduct").exists()) {
+    if (file("${eclipseRoot}/eclipse").isDirectory() && file("${eclipseRoot}/eclipse/.eclipseproduct").exists()) {
       eclipseRoot += "/eclipse"
     }
-    eclipseDropinsDir = eclipseRoot+"/dropins"
-    eclipseBinary = eclipseRoot+"/eclipse"
-    eclipseProduct = eclipseRoot+"/.eclipseproduct"
+    eclipseDropinsDir = "${eclipseRoot}/dropins"
+    eclipseBinary = "${eclipseRoot}/eclipse"
+    eclipseProduct = "${eclipseRoot}/.eclipseproduct"
   } else { // linux or unix
-    if (file(eclipseRoot+"/eclipse").isDirectory() && file(eclipseRoot+"/eclipse/.eclipseproduct").exists()) {
+    if (file("${eclipseRoot}/eclipse").isDirectory() && file("${eclipseRoot}/eclipse/.eclipseproduct").exists()) {
       eclipseRoot += "/eclipse"
     }
-    eclipseDropinsDir = eclipseRoot+"/dropins"
-    eclipseBinary = eclipseRoot+"/eclipse"
-    eclipseProduct = eclipseRoot+"/.eclipseproduct"
+    eclipseDropinsDir = "${eclipseRoot}/dropins"
+    eclipseBinary = "${eclipseRoot}/eclipse"
+    eclipseProduct = "${eclipseRoot}/.eclipseproduct"
   }
 
-  def fis = new FileInputStream(eclipseProduct)
-  def props = new Properties()
-  props.load(fis)
-  eclipseVersion = props.getProperty("version")
-  fis.close()
-  println("ECLIPSE_VERSION=${eclipseVersion}")
+  eclipseVersion = "4.12" // default
+  if (file(eclipseProduct).exists()) {
+    def fis = new FileInputStream(eclipseProduct)
+    def props = new Properties()
+    props.load(fis)
+    eclipseVersion = props.getProperty("version")
+    fis.close()
+    println("ECLIPSE_VERSION=${eclipseVersion}")
+  }
   String[] v = eclipseVersion.split("\\.")
   def v0 = Integer.valueOf(v[0])
   def v1 = Integer.valueOf(v[1])
@@ -1362,18 +1367,17 @@ task jalviewjsEclipsePaths {
   } 
 }
 
-task OLDjalviewjsEclipseCopyDropins {
+task jalviewjsEclipseCopyDropins {
   dependsOn jalviewjsEclipsePaths
-  def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+fromDropinsDir, include: "*.jar")
+  def inputFiles = fileTree(dir: "${jalviewjs_utils_dir}/${fromDropinsDir}", include: "*.jar")
   def outputDir = eclipseDropinsDir
 
   inputs.files inputFiles
   inputFiles.each { file ->
-    outputs.file(outputDir+"/"+file.name)
+    outputs.file("${outputDir}/${file.name}")
   }
 
   doLast {
-    def outputFiles = []
     inputFiles.each { file ->
       copy {
         from file
@@ -1384,22 +1388,23 @@ task OLDjalviewjsEclipseCopyDropins {
 }
 
 // this version (type: Copy) will delete anything in the eclipse dropins folder that isn't in fromDropinsDir
-task jalviewjsEclipseCopyDropins(type: Copy) {
+task NEWjalviewjsEclipseCopyDropins(type: Copy) {
+  dependsOn jalviewjsEclipsePaths
   from fromDropinsDir
   into eclipseDropinsDir
 }
 
 task jalviewjsCreateJ2sSettings(type: WriteProperties) {
   dependsOn jalviewjsSitePath
-  outputFile (jalviewDir+"/"+jalviewjs_j2s_settings)
+  outputFile ("${jalviewDir}/${jalviewjs_j2s_settings}")
   def props = project.properties.sort { it.key }
   def siteDirProperty = "j2s.site.directory"
   def setSiteDir = false
   props.each { prop, val ->
     if (prop.startsWith("j2s.") && val != null) {
       if (prop == siteDirProperty) {
-        if (!(val.startsWith("/") || val.startsWith("file://") )) {
-          val = jalviewjsTransferSiteDir+"/"+val
+        if (!(val.startsWith('/') || val.startsWith("file://") )) {
+          val = "${jalviewjsTransferSiteDir}/${val}"
         }
         setSiteDir = true
       }
@@ -1422,13 +1427,13 @@ task jalviewjsEclipseSetup {
 task jalviewjsCopyResources (type: Copy) {
   dependsOn jalviewjsSitePath
   def inputFiles = fileTree(dir: jalviewjs_resource_dir)
-  def outputDir = jalviewjsSiteDir+"/"+jalviewjs_j2s_subdir
+  def outputDir = "${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
 
   from inputFiles
   into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += outputDir+"/"+filename
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   outputs.files outputFiles
@@ -1437,33 +1442,20 @@ task jalviewjsCopyResources (type: Copy) {
 
 task jalviewjsCopySiteResources (type: Copy) {
   dependsOn jalviewjsSitePath
-  def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+jalviewjs_site_resource_dir)
+  def inputFiles = fileTree(dir: "${jalviewjs_utils_dir}/${jalviewjs_site_resource_dir}")
   def outputDir = jalviewjsSiteDir
 
   from inputFiles
   into outputDir
   def outputFiles = []
   rename { filename ->
-    outputFiles += outputDir+"/"+filename
+    outputFiles += "${outputDir}/${filename}"
     null
   }
   outputs.files outputFiles
   inputs.files inputFiles
 }
 
-task cleanJalviewjsAll {
-  group "JalviewJS"
-  description "Delete all configuration and build artifacts to do with JalviewJS build"
-  dependsOn cleanJalviewjsSite
-  
-  doFirst {
-    delete jalviewjsBuildDir
-    delete jalviewDir+"/"+eclipse_bin_dir
-    delete file(eclipseWorkspace.getAbsolutePath()+"/.metadata")
-    delete jalviewDir+"/"+jalviewjs_j2s_settings
-  }
-}
-
 task jalviewjsProjectImport(type: Exec) {
   // work out how to do this!
   dependsOn eclipseProject
@@ -1473,9 +1465,12 @@ task jalviewjsProjectImport(type: Exec) {
   dependsOn jalviewjsEclipseSetup
   executable(eclipseBinary)
   args(["-nosplash", "--launcher.suppressErrors", "-application", "com.seeq.eclipse.importprojects.headlessimport", "-data", eclipseWorkspace.getPath(), "-import", jalviewDirAbsolutePath])
+  if (eclipse_debug == "true") {
+    args += "-debug"
+  }
 
   def projdir = eclipseWorkspace.getPath()+"/.metadata/.plugins/org.eclipse.core.resources/.projects/jalview/org.eclipse.jdt.core"
-  inputs.file(jalviewDir+"/.project")
+  inputs.file("${jalviewDir}/.project")
   outputs.dir(projdir)
   outputs.upToDateWhen { file(projdir).exists() }
 }
@@ -1485,7 +1480,10 @@ task jalviewjsTranspile(type: Exec) {
   dependsOn jalviewjsProjectImport
   dependsOn jalviewjsEclipsePaths
   executable(eclipseBinary)
-  args(["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", eclipseWorkspace, "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ])
+  args(["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", eclipseWorkspace, "-${jalviewjs_eclipseBuildArg}", eclipse_project_name ])
+  if (eclipse_debug == "true") {
+    args += "-debug"
+  }
 
   def stdout
   def stderr
@@ -1531,7 +1529,7 @@ task jalviewjsTranspile(type: Exec) {
   }
 
   inputs.dir(sourceDir)
-  outputs.dir(eclipse_bin_dir+"/main")
+  outputs.dir("${eclipse_bin_dir}/main")
   outputs.dir(jalviewjsTransferSiteDir)
   outputs.upToDateWhen { file("${jalviewjsTransferSiteDir}${jalviewjs_server_resource}").exists() }
 
@@ -1603,7 +1601,7 @@ task jalviewjsServer {
     def url
     while(port < start+1000 && !running) {
       try {
-        def doc_root = new File(jalviewDirAbsolutePath +"/"+ jalviewjsSiteDir)
+        def doc_root = new File("${jalviewDirAbsolutePath}/${jalviewjsSiteDir}")
         def jalviewjsServer = factory.start(doc_root, port)
         running = true
         url = jalviewjsServer.getResourceUrl(jalviewjs_server_resource)
@@ -1626,6 +1624,19 @@ task jalviewjsServer {
   outputs.file(htmlFile)
 }
 
+task cleanJalviewjsAll {
+  group "JalviewJS"
+  description "Delete all configuration and build artifacts to do with JalviewJS build"
+  dependsOn cleanJalviewjsSite
+  
+  doFirst {
+    delete jalviewjsBuildDir
+    delete "${jalviewDir}/${eclipse_bin_dir}"
+    delete file(eclipseWorkspace.getAbsolutePath()+"/.metadata")
+    delete "${jalviewDir}/${jalviewjs_j2s_settings}"
+  }
+}
+
 task jalviewjs {
   group "JalviewJS"
   description "Build the site"
index c035a59..f2834c7 100644 (file)
@@ -2,6 +2,13 @@ jalviewDir = .
 
 #JAVA_VERSION = 1.8
 JAVA_VERSION = 11
+
+sourceDir = src
+#sourceDir = utils/jalviewjs/test/src
+
+testSourceDir = test
+#testSourceDir = utils/jalviewjs/test/test
+
 JALVIEW_VERSION = DEVELOPMENT
 INSTALLATION = Source
 jalview_keystore = keys/.keystore
@@ -23,7 +30,6 @@ helpParentDir = help
 helpDir = help
 helpOutputDir = build/distributions/help
 docDir = doc
-sourceDir = src
 schemaDir = schemas
 classesDir = classes
 examplesDir = examples
@@ -35,7 +41,6 @@ packageDir = dist
 ARCHIVEDIR =
 outputJar = jalview.jar
 
-testSourceDir = test
 testOutputDir = tests
 utilsDir = utils
 
@@ -141,8 +146,9 @@ bamboo_getdown_channel_suffix = /latest/artifact/shared/getdown-channel
 eclipse_extra_jdt_prefs_file = .settings/org.eclipse.jdt.core.jalview.prefs
 eclipse_project_name = jalview
 eclipse_bin_dir = bin
+eclipse_debug = false
 
-jalviewjs_eclipse_root = ~/buildtools/eclipse/jee-2019-09
+jalviewjs_eclipse_root = ~/buildtools/eclipse/jee-2019-06
 
 jalviewjs_utils_dir = utils/jalviewjs
 jalviewjs_eclipse_dropins_dir = eclipse/dropins
@@ -167,7 +173,7 @@ j2s.compiler.status = enable
 #j2s.log.methods.declared = j2s_methods_declared.log
 #j2s.log.methods.called = j2s_methods_called.log
 #a semicolon-separated list of package-level file paths to be excluded
-#j2s.excluded.paths = test;testng;util
+j2s.excluded.paths = test;testng;util
 #j2s.include.tests = true
 #j2s.testing = null
 #j2s.compiler.nonqualified.packages = null
diff --git a/utils/jalviewjs/test/src/jalview/bin/Jalview.java b/utils/jalviewjs/test/src/jalview/bin/Jalview.java
new file mode 100644 (file)
index 0000000..4d7b59a
--- /dev/null
@@ -0,0 +1,11 @@
+package jalview.bin;
+
+public class Jalview {
+
+  public static void main(String args[]) 
+  { 
+    System.out.println("Hello, java2script test src!"); 
+  } 
+}
+
+
diff --git a/utils/jalviewjs/test/test/jalview/bin/Test.java b/utils/jalviewjs/test/test/jalview/bin/Test.java
new file mode 100644 (file)
index 0000000..77fc2de
--- /dev/null
@@ -0,0 +1,11 @@
+package jalview.bin;
+
+public class Test {
+
+  public static void main(String args[]) 
+  { 
+    System.out.println("Hello, java2script test test!"); 
+  } 
+}
+
+