JAL-3210 BuildAllCores dependencies carefully implemented so Eclipse does not call...
authorBen Soares <bsoares@dundee.ac.uk>
Fri, 8 Nov 2019 16:45:20 +0000 (16:45 +0000)
committerBen Soares <bsoares@dundee.ac.uk>
Fri, 8 Nov 2019 16:45:20 +0000 (16:45 +0000)
build.gradle
gradle.properties
utils/jalviewjs/_j2sclasslist.txt
utils/jalviewjs/_j2sclasslist_jmol.txt [new file with mode: 0644]

index 3e2a029..a333e7d 100644 (file)
@@ -73,6 +73,7 @@ def libDistDir
 def compile_source_compatibility
 def compile_target_compatibility
 
+
 ext {
   getdownWebsiteDir = "${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}"
   getdownDir = ""
@@ -246,6 +247,7 @@ if (JAVA_VERSION.equals("1.8")) {
   throw new GradleException("JAVA_VERSION=${JAVA_VERSION} not currently supported by Jalview")
 }
 
+
 sourceSets {
 
   main {
@@ -310,6 +312,7 @@ sourceSets {
   }
 }
 
+
 // clover bits
 dependencies {
   if (use_clover) {
@@ -318,11 +321,13 @@ dependencies {
   }
 }
 
+
 configurations {
   cloverRuntime
   cloverRuntime.extendsFrom cloverCompile
 }
 
+
 eclipse {
   project {
     name = eclipse_project_name
@@ -395,12 +400,13 @@ eclipse {
         }
 
         //fileTree(dir: "$jalviewDir/$utilsDir", include: ["test*/*.jar"]).each {
-        sourceSets.test.compileClasspath.findAll { it.name.endsWith(".jar") }.each {
+        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
           if (it.isDirectory() || ! it.exists()) {
             // don't add dirs to classpath
-            return false // groovy "break" in .each closure
+            return false // groovy "continue" in .any closure
           }
+
           def itPath = it.toString()
           if (itPath.startsWith("${jalviewDirAbsolutePath}/")) {
             itPath = itPath.substring(jalviewDirAbsolutePath.length()+1)
@@ -451,6 +457,7 @@ eclipse {
 
 }
 
+
 task cloverInstr() {
   // only instrument source, we build test classes as normal
   inputs.files files (sourceSets.main.allJava) // , fileTree(dir:"$jalviewDir/$testSourceDir", include: ["**/*.java"]))
@@ -490,7 +497,6 @@ task cloverReport {
     com.atlassian.clover.reporters.xml.XMLReporter.runReport(args)
   }
 }
-
 // end clover bits
 
 
@@ -505,6 +511,7 @@ compileJava {
 
 }
 
+
 compileTestJava {
   if (use_clover) {
     dependsOn compileCloverJava
@@ -532,12 +539,14 @@ compileCloverJava {
   classpath += configurations.cloverRuntime
 }
 
+
 clean {
   doFirst {
     delete sourceSets.main.java.outputDir
   }
 }
 
+
 cleanTest {
   doFirst {
     delete sourceSets.test.java.outputDir
@@ -545,12 +554,14 @@ cleanTest {
   }
 }
 
+
 // format is a string like date.format("dd MMMM yyyy")
 def getDate(format) {
   def date = new Date()
   return date.format(format)
 }
 
+
 task setGitVals {
   def hashStdOut = new ByteArrayOutputStream()
   exec {
@@ -572,6 +583,7 @@ task setGitVals {
   outputs.upToDateWhen { false }
 }
 
+
 task createBuildProperties(type: WriteProperties) {
   dependsOn setGitVals
   inputs.dir("${jalviewDir}/${sourceDir}")
@@ -587,6 +599,7 @@ task createBuildProperties(type: WriteProperties) {
   outputs.file(outputFile)
 }
 
+
 def buildingHTML = "${jalviewDir}/${docDir}/building.html"
 task cleanBuildingHTML(type: Delete) {
   doFirst {
@@ -594,6 +607,7 @@ task cleanBuildingHTML(type: Delete) {
   }
 }
 
+
 task convertBuildingMD(type: Exec) {
   dependsOn cleanBuildingHTML
   def buildingMD = "${jalviewDir}/${docDir}/building.md"
@@ -628,12 +642,14 @@ task convertBuildingMD(type: Exec) {
   outputs.file(buildingHTML)
 }
 
+
 clean {
   doFirst {
     delete buildingHTML
   }
 }
 
+
 task syncDocs(type: Sync) {
   dependsOn convertBuildingMD
   def syncDir = "${classes}/${docDir}"
@@ -642,8 +658,8 @@ task syncDocs(type: Sync) {
 
 }
 
-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}"
@@ -665,12 +681,14 @@ task copyHelp(type: Copy) {
   outputs.dir(outputDir)
 }
 
+
 task syncLib(type: Sync) {
   def syncDir = "${classes}/${libDistDir}"
   from fileTree("${jalviewDir}/${libDistDir}")
   into syncDir
 }
 
+
 task syncResources(type: Sync) {
   from "${jalviewDir}/${resourceDir}"
   include "**/*.*"
@@ -680,6 +698,7 @@ task syncResources(type: Sync) {
   }
 }
 
+
 task prepare {
   dependsOn syncResources
   dependsOn syncDocs
@@ -713,6 +732,7 @@ test {
 
 }
 
+
 task buildIndices(type: JavaExec) {
   dependsOn copyHelp
   classpath = sourceSets.main.compileClasspath
@@ -732,6 +752,7 @@ task buildIndices(type: JavaExec) {
   outputs.file("${workingDir}/JavaHelpSearch/TMAP")
 }
 
+
 task compileLinkCheck(type: JavaCompile) {
   options.fork = true
   classpath = files("${jalviewDir}/${utilsDir}")
@@ -744,6 +765,7 @@ task compileLinkCheck(type: JavaCompile) {
   outputs.file("${jalviewDir}/${utilsDir}/BufferedLineReader.class")
 }
 
+
 task linkCheck(type: JavaExec) {
   dependsOn prepare, compileLinkCheck
 
@@ -804,11 +826,13 @@ jar {
   outputs.file("${jalviewDir}/${packageDir}/${archiveName}")
 }
 
+
 task copyJars(type: Copy) {
   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(dir: "${jalviewDir}/${libDistDir}", include: "**/*.jar").files
@@ -818,6 +842,7 @@ task syncJars(type: Sync) {
   }
 }
 
+
 task makeDist {
   group = "build"
   description = "Put all required libraries in dist"
@@ -830,6 +855,7 @@ task makeDist {
   outputs.dir("${jalviewDir}/${packageDir}")
 }
 
+
 task cleanDist {
   dependsOn cleanPackageDir
   dependsOn cleanTest
@@ -853,6 +879,7 @@ shadowJar {
   minimize()
 }
 
+
 task getdownWebsite() {
   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"
@@ -1033,6 +1060,7 @@ task getdownWebsite() {
   outputs.dir(project.ext.getdownFilesDir)
 }
 
+
 task getdownDigest(type: JavaExec) {
   group = "distribution"
   description = "Digest the getdown website folder"
@@ -1046,6 +1074,7 @@ task getdownDigest(type: JavaExec) {
   outputs.file("${project.ext.getdownWebsiteDir}/digest2.txt")
 }
 
+
 task getdown() {
   group = "distribution"
   description = "Create the minimal and full getdown app folder for installers and website and create digest file"
@@ -1068,6 +1097,7 @@ task getdown() {
   }
 }
 
+
 clean {
   doFirst {
     delete project.ext.getdownWebsiteDir
@@ -1075,6 +1105,7 @@ clean {
   }
 }
 
+
 install4j {
   def install4jHomeDir = "/opt/install4j"
   def hostname = "hostname".execute().text.trim()
@@ -1095,6 +1126,7 @@ install4j {
   }
 }
 
+
 def install4jConf
 def macosJavaVMDir
 def macosJavaVMTgz
@@ -1163,6 +1195,7 @@ task copyInstall4jTemplate(type: Copy) {
   }
 }
 
+
 task installers(type: com.install4j.gradle.Install4jTask) {
   group = "distribution"
   description = "Create the install4j installers"
@@ -1188,12 +1221,14 @@ task installers(type: com.install4j.gradle.Install4jTask) {
   outputs.dir("${jalviewDir}/${install4jBuildDir}/${JAVA_VERSION}")
 }
 
+
 clean {
   doFirst {
     delete install4jConf
   }
 }
 
+
 task sourceDist (type: Tar) {
   
   def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_")
@@ -1264,6 +1299,7 @@ task sourceDist (type: Tar) {
 //  }
 }
 
+
 task helppages  {
   dependsOn copyHelp
   dependsOn pubhtmlhelp
@@ -1272,10 +1308,12 @@ task helppages  {
   outputs.dir("${helpOutputDir}")
 }
 
+
 def jalviewjsBuildDir
 def jalviewjsSiteDir
 def jalviewjsTransferSiteJsDir
 def jalviewjsTransferSiteLibDir
+def jalviewjsTransferSiteSwingJsDir
 def jalviewjsTransferSiteCoreDir
 task jalviewjsSitePath {
   def relativeBuildDir = file(jalviewDirAbsolutePath).toPath().relativize(buildDir.toPath())
@@ -1283,9 +1321,11 @@ task jalviewjsSitePath {
   jalviewjsSiteDir = "${jalviewjsBuildDir}/${jalviewjs_site_dir}"
   jalviewjsTransferSiteJsDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_js"
   jalviewjsTransferSiteLibDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_lib"
+  jalviewjsTransferSiteSwingJsDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_swingjs"
   jalviewjsTransferSiteCoreDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_core"
 }
 
+
 def eclipseWorkspace
 task jalviewjsSetEclipseWorkspace {
   def propKey = "jalviewjs_eclipse_workspace"
@@ -1387,12 +1427,14 @@ task jalviewjsEclipsePaths {
   }
 }
 
+
 task eclipseSetup {
   dependsOn eclipseProject
   dependsOn eclipseClasspath
   dependsOn eclipseJdt
 }
 
+
 // this version (type: Copy) will delete anything in the eclipse dropins folder that isn't in fromDropinsDir
 task jalviewjsEclipseCopyDropins(type: Copy) {
   dependsOn jalviewjsEclipsePaths
@@ -1405,6 +1447,7 @@ task jalviewjsEclipseCopyDropins(type: Copy) {
   into outputDir
 }
 
+
 // this eclipse -clean doesn't actually work
 task jalviewjsCleanEclipse(type: Exec) {
   dependsOn eclipseSetup
   def inputByteStream = new ByteArrayInputStream(inputString.getBytes())
   standardInput = inputByteStream
 }
+
 /* not really working yet
 jalviewjsEclipseCopyDropins.finalizedBy jalviewjsCleanEclipse
 */
 
-def jalviewjsTransferSiteUnzipDir
+
+task jalviewjsTransferUnzipSwingJs {
+  dependsOn jalviewjsSitePath
+
+  def file_zip = "${jalviewDir}/${jalviewjs_swingjs_zip}"
+
+  doLast {
+    copy {
+      from zipTree(file_zip)
+      into "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}"
+    }
+  }
+
+  inputs.file file_zip
+  outputs.dir "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}"
+}
+
+
 task jalviewjsTransferUnzipLib {
   dependsOn jalviewjsSitePath
 
   def zipFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_libjs_dir}", include: "*.zip")
-  zipFiles += "${jalviewDir}/${jalviewjs_swingjs_zip}"
 
   doLast {
     zipFiles.each { file_zip -> 
@@ -1448,6 +1508,13 @@ task jalviewjsTransferUnzipLib {
   outputs.dir "${jalviewDir}/${jalviewjsTransferSiteLibDir}"
 }
 
+
+task jalviewjsTransferUnzipAllLibs {
+  dependsOn jalviewjsTransferUnzipSwingJs
+  dependsOn jalviewjsTransferUnzipLib
+}
+
+
 task jalviewjsCreateJ2sSettings(type: WriteProperties) {
   group "JalviewJS"
   description "Create the .j2s file from the j2s.* properties"
@@ -1476,16 +1543,19 @@ task jalviewjsCreateJ2sSettings(type: WriteProperties) {
   outputs.file(outputFile)
 }
 
+
 task jalviewjsEclipseSetup {
   dependsOn jalviewjsEclipseCopyDropins
   dependsOn jalviewjsSetEclipseWorkspace
   dependsOn jalviewjsCreateJ2sSettings
 }
 
-task jalviewjsSyncLib (type: Sync) {
+
+task jalviewjsSyncAllLibs (type: Sync) {
   dependsOn jalviewjsSitePath
-  dependsOn jalviewjsTransferUnzipLib
+  dependsOn jalviewjsTransferUnzipAllLibs
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteLibDir}")
+  inputFiles += fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}")
   def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
@@ -1502,25 +1572,6 @@ task jalviewjsSyncLib (type: Sync) {
   inputs.files inputFiles
 }
 
-task jalviewjsSyncCore (type: Sync) {
-  dependsOn jalviewjsSitePath
-  dependsOn "jalviewjsBuildAllCores"
-  def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteCoreDir}")
-  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
-
-  from inputFiles
-  into outputDir
-  def outputFiles = []
-  rename { filename ->
-    outputFiles += "${outputDir}/${filename}"
-    null
-  }
-  preserve {
-    include "**"
-  }
-  outputs.files outputFiles
-  inputs.files inputFiles
-}
 
 task jalviewjsSyncResources (type: Sync) {
   dependsOn jalviewjsSitePath
@@ -1541,6 +1592,7 @@ task jalviewjsSyncResources (type: Sync) {
   inputs.files inputFiles
 }
 
+
 task jalviewjsSyncSiteResources (type: Sync) {
   dependsOn jalviewjsSitePath
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_site_resource_dir}")
@@ -1560,6 +1612,7 @@ task jalviewjsSyncSiteResources (type: Sync) {
   inputs.files inputFiles
 }
 
+
 task jalviewjsSyncBuildProperties (type: Sync) {
   dependsOn jalviewjsSitePath
   dependsOn createBuildProperties
@@ -1580,6 +1633,7 @@ task jalviewjsSyncBuildProperties (type: Sync) {
   inputs.files inputFiles
 }
 
+
 task jalviewjsProjectImport(type: Exec) {
   dependsOn eclipseSetup
   dependsOn jalviewjsEclipsePaths
@@ -1600,6 +1654,7 @@ task jalviewjsProjectImport(type: Exec) {
   }
 }
 
+
 task jalviewjsTranspile(type: Exec) {
   dependsOn jalviewjsEclipseSetup 
   dependsOn jalviewjsProjectImport
@@ -1669,6 +1724,35 @@ DEBUG: ${eclipseDebug}
   outputs.upToDateWhen( { file("${jalviewDir}/${jalviewjsTransferSiteJsDir}${jalviewjs_server_resource}").exists() } )
 }
 
+
+task jalviewjsNoTranspileSyncCore (type: Sync) {
+  dependsOn jalviewjsSitePath
+  dependsOn "jalviewjsNoTranspileBuildAllCores"
+  def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteCoreDir}")
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
+
+  from inputFiles
+  into outputDir
+  def outputFiles = []
+  rename { filename ->
+    outputFiles += "${outputDir}/${filename}"
+    null
+  }
+  preserve {
+    include "**"
+  }
+  outputs.files outputFiles
+  inputs.files inputFiles
+}
+
+
+task jalviewjsSyncCore (type: Sync) {
+  dependsOn jalviewjsTranspile
+  dependsOn jalviewjsNoTranspileSyncCore
+  dependsOn "jalviewjsBuildAllCores"
+}
+
+
 // this Copy version of TransferSiteJs will delete anything else in the target dir
 task jalviewjsCopyTransferSiteJs(type: Copy) {
   dependsOn jalviewjsTranspile
@@ -1676,8 +1760,9 @@ task jalviewjsCopyTransferSiteJs(type: Copy) {
   into "${jalviewDir}/${jalviewjsSiteDir}"
 }
 
+
 // this Sync version of TransferSite is used by buildship to keep the website automatically up to date when a file changes
-task jalviewjsSyncTransferSiteJs(type: Sync) {
+task jalviewjsNoTranspileSyncTransferSiteJs(type: Sync) {
   from "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
   include "**/*.*"
   into "${jalviewDir}/${jalviewjsSiteDir}"
@@ -1686,26 +1771,37 @@ task jalviewjsSyncTransferSiteJs(type: Sync) {
   }
 }
 
-jalviewjsSyncLib.mustRunAfter jalviewjsCopyTransferSiteJs
+jalviewjsSyncAllLibs.mustRunAfter jalviewjsCopyTransferSiteJs
 jalviewjsSyncResources.mustRunAfter jalviewjsCopyTransferSiteJs
 jalviewjsSyncSiteResources.mustRunAfter jalviewjsCopyTransferSiteJs
 jalviewjsSyncBuildProperties.mustRunAfter jalviewjsCopyTransferSiteJs
 
-jalviewjsSyncLib.mustRunAfter jalviewjsSyncTransferSiteJs
-jalviewjsSyncResources.mustRunAfter jalviewjsSyncTransferSiteJs
-jalviewjsSyncSiteResources.mustRunAfter jalviewjsSyncTransferSiteJs
-jalviewjsSyncBuildProperties.mustRunAfter jalviewjsSyncTransferSiteJs
+jalviewjsSyncAllLibs.mustRunAfter jalviewjsNoTranspileSyncTransferSiteJs
+jalviewjsSyncResources.mustRunAfter jalviewjsNoTranspileSyncTransferSiteJs
+jalviewjsSyncSiteResources.mustRunAfter jalviewjsNoTranspileSyncTransferSiteJs
+jalviewjsSyncBuildProperties.mustRunAfter jalviewjsNoTranspileSyncTransferSiteJs
+
+
+task jalviewjsNoTranspilePrepareSite {
+  dependsOn jalviewjsSyncAllLibs
+  dependsOn jalviewjsSyncResources
+  dependsOn jalviewjsSyncSiteResources
+  dependsOn jalviewjsSyncBuildProperties
+  dependsOn jalviewjsNoTranspileSyncCore
+}
+
 
 task jalviewjsPrepareSite {
   group "JalviewJS"
   description "Prepares the website folder including unzipping files and copying resources"
-  dependsOn jalviewjsSyncLib
+  dependsOn jalviewjsSyncAllLibs
   dependsOn jalviewjsSyncResources
   dependsOn jalviewjsSyncSiteResources
   dependsOn jalviewjsSyncBuildProperties
   dependsOn jalviewjsSyncCore
 }
 
+
 task jalviewjsBuildSite {
   group "JalviewJS"
   description "Builds the whole website including transpiled code"
@@ -1713,15 +1809,18 @@ task jalviewjsBuildSite {
   dependsOn jalviewjsPrepareSite
 }
 
+
 task cleanJalviewjsSite {
   doFirst {
     delete "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
     delete "${jalviewDir}/${jalviewjsTransferSiteLibDir}"
+    delete "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}"
     delete "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
     delete "${jalviewDir}/${jalviewjsSiteDir}"
   }
 }
 
+
 task jalviewjsSiteTar(type: Tar) {
   group "JalviewJS"
   description "Creates a tar.gz file for the website"
@@ -1741,6 +1840,7 @@ task jalviewjsSiteTar(type: Tar) {
   inputs.dir("${jalviewDir}/${jalviewjsSiteDir}")
 }
 
+
 task jalviewjsServer {
   group "JalviewJS"
   def filename = "jalviewjsTest.html"
@@ -1780,6 +1880,7 @@ task jalviewjsServer {
   outputs.upToDateWhen({false})
 }
 
+
 task cleanJalviewjsAll {
   group "JalviewJS"
   description "Delete all configuration and build artifacts to do with JalviewJS build"
@@ -1798,6 +1899,7 @@ task cleanJalviewjsAll {
   outputs.upToDateWhen( { false } )
 }
 
+
 task jalviewjs {
   group "JalviewJS"
   description "Build the site"
@@ -1805,46 +1907,53 @@ task jalviewjs {
 }
 
 
+
 task jalviewjsIDE_CopyTransferSiteJs(type: Copy) {
   from "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
   into "${jalviewDir}/${jalviewjsSiteDir}"
 }
 
+
 task jalviewjsIDE_j2sFile {
   group "00 JalviewJS in Eclipse"
   description "Creates the .j2s file"
   dependsOn jalviewjsCreateJ2sSettings
 }
 
+
 task jalviewjsIDE_AssembleSite {
   group "00 JalviewJS in Eclipse"
   description "Assembles the Eclipse transpiled site and unzips supporting zipfiles"
   dependsOn jalviewjsIDE_CopyTransferSiteJs
-  dependsOn jalviewjsPrepareSite
+  dependsOn jalviewjsNoTranspilePrepareSite
 }
 
+
 task jalviewjsIDE_SiteClean {
   group "00 JalviewJS in Eclipse"
   description "Deletes the Eclipse transpiled site"
   dependsOn cleanJalviewjsSite
 }
 
+
 task jalviewjsIDE_Server {
   group "00 JalviewJS in Eclipse"
   description "Starts a webserver on localhost to test the website"
   dependsOn jalviewjsServer
 }
 
+
 // buildship runs this at import
 task eclipseSynchronizationTask {
   dependsOn eclipseSetup
   dependsOn jalviewjsIDE_j2sFile
 }
 
+
 // buildship runs this at build time
 task eclipseAutoBuildTask {
-  dependsOn jalviewjsSyncTransferSiteJs
-  dependsOn jalviewjsPrepareSite
+  dependsOn jalviewjsNoTranspileSyncTransferSiteJs
+  dependsOn jalviewjsNoTranspilePrepareSite
 }
 
 
@@ -1881,7 +1990,7 @@ def jalviewjsCallCore(FileCollection list, String prefixFile, String suffixFile,
       t.replaceAll("Class__","Clazz._")
       coreFile.append( t )
     } else {
-      msg = "...file "+f.getPath()+" does not exist, skipping"
+      msg = "...file '"+f.getPath()+"' does not exist, skipping"
       println(msg)
       logOutFile.append(msg+"\n")
     }
@@ -1927,30 +2036,13 @@ def jalviewjsCallCore(FileCollection list, String prefixFile, String suffixFile,
   logOutFile.append(msg+"\n")
 }
 
-task jalviewjsBuildJMolCore {
-  dependsOn jalviewjsTranspile
-  dependsOn jalviewjsTransferUnzipLib
-  dependsOn jalviewjsSitePath
-
-  def j2sDir = "${jalviewDir}/${jalviewjsTransferSiteJsDir}/${jalviewjs_j2s_subdir}"
-  def jsDir = "${jalviewDir}/${jalviewjsTransferSiteLibDir}/${jalviewjs_js_subdir}"
-  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
-  def prefixFile = "${jsDir}/core/coretop2.js"
-  def suffixFile = "${jsDir}/core/corebottom2.js"
-
-  inputs.file prefixFile
-  inputs.file suffixFile
 
-
-}
-
-task jalviewjsBuildStevesoftCore {
-  dependsOn jalviewjsTranspile
-  dependsOn jalviewjsTransferUnzipLib
+task jalviewjsNoTranspileBuildAllCores {
   dependsOn jalviewjsSitePath
+  dependsOn jalviewjsTransferUnzipSwingJs
 
   def j2sDir = "${jalviewDir}/${jalviewjsTransferSiteJsDir}/${jalviewjs_j2s_subdir}"
-  def jsDir = "${jalviewDir}/${jalviewjsTransferSiteLibDir}/${jalviewjs_js_subdir}"
+  def jsDir = "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}/${jalviewjs_js_subdir}"
   def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
   def prefixFile = "${jsDir}/core/coretop2.js"
   def suffixFile = "${jsDir}/core/corebottom2.js"
@@ -1958,61 +2050,74 @@ task jalviewjsBuildStevesoftCore {
   inputs.file prefixFile
   inputs.file suffixFile
 
+  def classlistFiles = []
+  // add the classlists found int the jalviewjs_classlists_dir
+  fileTree(dir: "${jalviewDir}/${jalviewjs_classlists_dir}", include: "*.txt").each {
+    file ->
+    def name = file.getName() - ".txt"
+    classlistFiles += [
+      'file': file,
+      'name': name
+    ]
+  }
 
-}
-
-task jalviewjsBuildClasslistCores {
-  group "JalviewJS"
-  description "Build the core js lib closures listed in the classlists dir"
+  // _jmol and _jalview cores. Add any other peculiar classlist.txt files here
+  classlistFiles += [ 'file': file("${jalviewDir}/${jalviewjs_classlist_jmol}"), 'name': "_jvjmol" ]
+  classlistFiles += [ 'file': file("${jalviewDir}/${jalviewjs_classlist_jalview}"), 'name': "_jalview" ]
 
-  dependsOn jalviewjsSitePath
-  dependsOn jalviewjsTransferUnzipLib
-  dependsOn jalviewjsTranspile
+  def classlists = []
 
-  def j2sDir = "${jalviewDir}/${jalviewjsTransferSiteJsDir}/${jalviewjs_j2s_subdir}"
-  def jsDir = "${jalviewDir}/${jalviewjsTransferSiteLibDir}/${jalviewjs_js_subdir}"
-  def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
-  def prefixFile = "${jsDir}/core/coretop2.js"
-  def suffixFile = "${jsDir}/core/corebottom2.js"
+  classlistFiles.each {
+    hash ->
 
-  inputs.file prefixFile
-  inputs.file suffixFile
-
-  def classlists = []
-  fileTree(dir: "${jalviewDir}/${jalviewjs_classlists_dir}", include: "*.txt").each {
-    file ->
-    def name = file.getName() - ".txt"
+    def file = hash['file']
+    if (! file.exists()) {
+      println("...classlist file '"+file.getPath()+"' does not exist, skipping")
+      return false // this is a "continue" in groovy .each closure
+    }
+    def name = hash['name']
+    if (name == null) {
+      name = file.getName() - ".txt"
+    }
 
     def filelist = []
     file.eachLine {
       line ->
-      filelist += line
+        filelist += line
     }
     def list = fileTree(dir: j2sDir, includes: filelist)
 
-    def coreFileName = "core${name}.js"
-    def jsfile = "${outputDir}/${coreFileName}"
-    def coreZFileName = "core${name}.z.js"
-    def zjsfile = "${outputDir}/${coreZFileName}"
+    def jsfile = "${outputDir}/core${name}.js"
+    def zjsfile = "${outputDir}/core${name}.z.js"
 
     classlists += [
-      'jsfile': jsfile,
-      'zjsfile': zjsfile,
-      'list': list
+    'jsfile': jsfile,
+    'zjsfile': zjsfile,
+    'list': list
     ]
 
     inputs.file(file)
     inputs.files(list)
     outputs.file(jsfile)
     outputs.file(zjsfile)
-  } 
-
+  }
+  
+  // _stevesoft core. add any cores without a classlist here (and the inputs and outputs)
+  def stevesoftClasslist = [
+    'jsfile': "${outputDir}/core_stevesoft.js",
+    'zjsfile': "${outputDir}/core_stevesoft.z.js",
+    'list': fileTree(dir: j2sDir, include: "com/stevesoft/pat/**/*.js")
+  ]
+  classlists += stevesoftClasslist
+  inputs.files(stevesoftClasslist['list'])
+  outputs.file(stevesoftClasslist['jsfile'])
+  outputs.file(stevesoftClasslist['zjsfile'])
 
   doFirst {
     def logOutFile = file("${jalviewDirAbsolutePath}/${jalviewjsBuildDir}/${jalviewjs_j2s_closure_stdout}")
     logOutFile.getParentFile().mkdirs()
     logOutFile.createNewFile()
-    logOutFile.write(getDate("yyyy-MM-dd HH:mm:ss")+" jalviewjsBuildAllCores\n----\n")
+    logOutFile.write(getDate("yyyy-MM-dd HH:mm:ss")+" jalviewjsNoTranspileBuildAllCores\n----\n")
 
     classlists.each {
       jalviewjsCallCore(it.list, prefixFile, suffixFile, it.jsfile, it.zjsfile, logOutFile, jalviewjs_j2s_to_console.equals("true"))
@@ -2021,12 +2126,25 @@ task jalviewjsBuildClasslistCores {
 
 }
 
+
+jalviewjsNoTranspileBuildAllCores.mustRunAfter jalviewjsTranspile
+
+
 task jalviewjsBuildAllCores {
-  dependsOn jalviewjsBuildJMolCore
-  dependsOn jalviewjsBuildStevesoftCore
-  dependsOn jalviewjsBuildClasslistCores
+  group "JalviewJS"
+  description "Build the core js lib closures listed in the classlists dir"
+  dependsOn jalviewjsTranspile
+  dependsOn jalviewjsNoTranspileBuildAllCores
 }
 
+
+task jalviewjsIDE_BuildAllCores {
+  group "00 JalviewJS in Eclipse"
+  description "Build the core js lib closures listed in the classlists dir"
+  dependsOn jalviewjsNoTranspileBuildAllCores
+}
+
+
 task jalviewjsPublishCoreTemplate {
   dependsOn jalviewjsBuildAllCores
 }
index 444d333..243ba26 100644 (file)
@@ -3,6 +3,8 @@ jalviewDir = .
 #JAVA_VERSION = 1.8
 JAVA_VERSION = 11
 
+ECLIPSE_DEV = false
+
 sourceDir = src
 #sourceDir = utils/jalviewjs/test/src
 
@@ -156,6 +158,8 @@ jalviewjs_j2s_plugin = swingjs/net.sf.j2s.core.jar
 jalviewjs_libjs_dir = utils/jalviewjs/libjs
 jalviewjs_site_resource_dir = utils/jalviewjs/site-resources
 jalviewjs_classlists_dir = utils/jalviewjs/classlists
+jalviewjs_classlist_jmol = utils/jalviewjs/_j2sclasslist_jmol.txt
+jalviewjs_classlist_jalview = utils/jalviewjs/_j2sclasslist.txt
 jalviewjs_j2s_settings = .j2s
 #jalviewjs_eclipse_workspace = ~/tmp/eclipse-workspace
 # these 3 files/dirs found in build/jalviewjs
index e35111e..425e51f 100644 (file)
-java/applet/Applet.js
+jalview/analysis/AAFrequency.js
+jalview/analysis/AlignSeq.js
+jalview/analysis/AlignmentAnnotationUtils.js
+jalview/analysis/AlignmentUtils.js
+jalview/analysis/AlignmentSorter.js
+jalview/analysis/AnnotationSorter.js
+jalview/analysis/Conservation.js
+jalview/analysis/CrossRef.js
+jalview/analysis/NJTree.js
+jalview/analysis/SeqsetUtils.js
+jalview/analysis/SequenceIdMatcher.js
+jalview/analysis/TreeBuilder.js
+jalview/analysis/TreeModel.js
+jalview/analysis/scoremodels/DistanceScoreModel.js
+jalview/analysis/scoremodels/FeatureDistanceModel.js
+jalview/analysis/scoremodels/PIDModel.js
+jalview/analysis/scoremodels/ScoreMatrix.js
+jalview/analysis/scoremodels/ScoreModels.js
+jalview/analysis/scoremodels/SimilarityParams.js
+jalview/analysis/scoremodels/SimilarityScoreModel.js
+jalview/api/AlignCalcManagerI.js
+jalview/api/AlignCalcWorkerI.js
+jalview/api/AlignViewControllerGuiI.js
+jalview/api/AlignViewControllerI.js
+jalview/api/AlignFrameI.js
+jalview/api/AlignViewportI.js
+jalview/api/AlignmentViewPanel.js
+jalview/api/BuildDetailsI.js
+jalview/api/FeatureColourI.js
+jalview/api/FeatureRenderer.js
+jalview/api/FeaturesDisplayedI.js
+jalview/api/JalviewApp.js
+jalview/api/OOMHandlerI.js
+jalview/api/SequenceRenderer.js
+jalview/api/StructureSelectionManagerProvider.js
+jalview/api/ViewStyleI.js
+jalview/api/analysis/PairwiseScoreModelI.js
+jalview/api/analysis/ScoreModelI.js
+jalview/api/analysis/SimilarityParamsI.js
+jalview/bin/AppletParams.js
+jalview/bin/ApplicationSingletonProvider.js
+jalview/bin/ArgsParser.js
+jalview/bin/BuildDetails.js
+jalview/bin/Cache.js
+jalview/bin/Jalview.js
+jalview/bin/JalviewAppLoader.js
+jalview/commands/CommandI.js
+jalview/commands/OrderCommand.js
+jalview/controller/AlignViewController.js
+jalview/datamodel/ASequence.js
+jalview/datamodel/ASequenceI.js
+jalview/datamodel/Alignment.js
+jalview/datamodel/AlignmentAnnotation.js
+jalview/datamodel/AlignmentI.js
+jalview/datamodel/AlignmentView.js
+jalview/datamodel/AnnotatedCollectionI.js
+jalview/datamodel/Annotation.js
+jalview/datamodel/BinaryNode.js
+jalview/datamodel/CigarArray.js
+jalview/datamodel/CigarBase.js
+jalview/datamodel/CigarSimple.js
+jalview/datamodel/ColumnSelection.js
+jalview/datamodel/ContiguousI.js
+jalview/datamodel/DBRefSource.js
+jalview/datamodel/HiddenColumns.js
+jalview/datamodel/HiddenColumnsCursor.js
+jalview/datamodel/HiddenCursorPosition.js
+jalview/datamodel/HiddenSequences.js
+jalview/datamodel/PDBEntry.js
+jalview/datamodel/Profile.js
+jalview/datamodel/ProfileI.js
+jalview/datamodel/Profiles.js
+jalview/datamodel/ProfilesI.js
+jalview/datamodel/Range.js
+jalview/datamodel/RangeIterator.js
+jalview/datamodel/ResidueCount.js
+jalview/datamodel/SearchResults.js
+jalview/datamodel/SearchResultsI.js
+jalview/datamodel/SeqCigar.js
+jalview/datamodel/Sequence.js
+jalview/datamodel/SequenceCollectionI.js
+jalview/datamodel/SequenceCursor.js
+jalview/datamodel/SequenceFeature.js
+jalview/datamodel/SequenceGroup.js
+jalview/datamodel/SequenceI.js
+jalview/datamodel/SequenceNode.js
+jalview/datamodel/features/FeatureLocationI.js
+jalview/datamodel/features/FeatureMatcher.js
+jalview/datamodel/features/FeatureMatcherI.js
+jalview/datamodel/features/FeatureMatcherSet.js
+jalview/datamodel/features/FeatureMatcherSetI.js
+jalview/datamodel/features/FeatureStore.js
+jalview/datamodel/features/FeatureStoreI.js
+jalview/datamodel/features/FeatureStoreJS.js
+
+jalview/datamodel/features/SequenceFeatures.js
+jalview/datamodel/features/SequenceFeaturesI.js
+jalview/gui/AlignFrame.js
+jalview/gui/AlignViewport.js
+jalview/gui/AlignmentPanel.js
+jalview/gui/AnnotationLabels.js
+jalview/gui/AnnotationPanel.js
+jalview/gui/CalculationChooser.js
+jalview/gui/ColourMenuHelper.js
+jalview/gui/ComboBoxTooltipRenderer.js
+jalview/gui/Desktop.js
+jalview/gui/FeatureRenderer.js
+jalview/gui/IProgressIndicator.js
+jalview/gui/IdCanvas.js
+jalview/gui/IdPanel.js
+jalview/gui/IdwidthAdjuster.js
+jalview/gui/JalviewChangeSupport.js
+jalview/gui/JvSwingUtils.js
+jalview/gui/PaintRefresher.js
+jalview/gui/PopupMenu.js
+jalview/gui/Preferences.js
+jalview/gui/ProgressBar.js
+jalview/gui/ScalePanel.js
+jalview/gui/SeqCanvas.js
+jalview/gui/SeqPanel.js
+jalview/gui/SequenceRenderer.js
+jalview/gui/TreeCanvas.js
+jalview/gui/TreePanel.js
+jalview/gui/ViewSelectionMenu.js
+jalview/io/AlignFile.js
+jalview/io/AlignmentFileReaderI.js
+jalview/io/AlignmentFileWriterI.js
+jalview/io/AppletFormatAdapter.js
+jalview/io/DataSourceType.js
+jalview/io/FileFormat.js
+jalview/io/FileFormatI.js
+jalview/io/FileFormats.js
+jalview/io/FileLoader.js
+jalview/io/FileParse.js
+jalview/io/IdentifyFile.js
+jalview/io/NewickFile.js
+jalview/io/PIRFile.js
+jalview/io/ScoreMatrixFile.js
+jalview/io/SequenceAnnotationReport.js
+jalview/javascript/JalviewLiteJSApi.js
+jalview/javascript/log4j/ConsoleAppender.js
+jalview/javascript/log4j/Layout.js
+jalview/javascript/log4j/Level.js
+jalview/javascript/log4j/Logger.js
+jalview/javascript/log4j/Priority.js
+jalview/javascript/log4j/SimpleLayout.js
+jalview/javascript/log4j/spi/OptionHandler.js
+jalview/jbgui/GAlignFrame.js
+jalview/jbgui/GAlignmentPanel.js
+jalview/jbgui/GDesktop.js
+jalview/jbgui/GPreferences.js
+jalview/jbgui/GTreePanel.js
+jalview/math/Matrix.js
+jalview/math/MatrixI.js
+jalview/project/Jalview2XML.js
+jalview/renderer/AnnotationRenderer.js
+jalview/renderer/AwtRenderPanelI.js
+jalview/renderer/ResidueColourFinder.js
+jalview/renderer/ResidueShader.js
+jalview/renderer/ResidueShaderI.js
+jalview/renderer/ScaleRenderer.js
+jalview/renderer/seqfeatures/FeatureRenderer.js
+jalview/schemes/Blosum62ColourScheme.js
+jalview/schemes/BuriedColourScheme.js
+jalview/schemes/ClustalxColourScheme.js
+jalview/schemes/ColourSchemeI.js
+jalview/schemes/ColourSchemeProperty.js
+jalview/schemes/ColourSchemes.js
+jalview/schemes/ColourSchemeLoader.js
+jalview/schemes/UserColourScheme.js
+jalview/schemes/Consensus.js
+jalview/schemes/FeatureColour.js
+jalview/schemes/HelixColourScheme.js
+jalview/schemes/HydrophobicColourScheme.js
+jalview/schemes/JalviewColourScheme.js
+jalview/schemes/NucleotideColourScheme.js
+jalview/schemes/PIDColourScheme.js
+jalview/schemes/PurinePyrimidineColourScheme.js
+jalview/schemes/RNAHelicesColour.js
+jalview/schemes/ResidueColourScheme.js
+jalview/schemes/ResidueProperties.js
+jalview/schemes/ScoreColourScheme.js
+jalview/schemes/StrandColourScheme.js
+jalview/schemes/TCoffeeColourScheme.js
+jalview/schemes/TaylorColourScheme.js
+jalview/schemes/TurnColourScheme.js
+jalview/schemes/UserColourScheme.js
+jalview/schemes/ZappoColourScheme.js
+jalview/structure/CommandListener.js
+jalview/structure/SelectionListener.js
+jalview/structure/SelectionSource.js
+jalview/structure/SequenceListener.js
+jalview/structure/StructureImportSettings.js
+jalview/structure/StructureSelectionManager.js
+jalview/structure/VamsasSource.js
+jalview/urls/CustomUrlProvider.js
+jalview/urls/IdOrgSettings.js
+jalview/urls/IdentifiersUrlProvider.js
+jalview/urls/UrlLinkDisplay.js
+jalview/urls/UrlLinkTableModel.js
+jalview/urls/UrlProvider.js
+jalview/urls/UrlProviderImpl.js
+jalview/urls/api/UrlProviderFactoryI.js
+jalview/urls/api/UrlProviderI.js
+jalview/urls/desktop/DesktopUrlProviderFactory.js
+jalview/util/ColorUtils.js
+jalview/util/Comparison.js
+jalview/util/DBRefUtils.js
+jalview/util/Format.js
+jalview/util/MessageManager.js
+jalview/util/Platform.js
+jalview/util/QuickSort.js
+jalview/util/StringUtils.js
+jalview/util/UrlLink.js
+jalview/util/jarInputStreamProvider.js
+jalview/util/matcher/Condition.js
+jalview/util/matcher/Matcher.js
+jalview/util/matcher/MatcherI.js
+jalview/viewmodel/AlignmentViewport.js
+jalview/viewmodel/ViewportListenerI.js
+jalview/viewmodel/ViewportProperties.js
+jalview/viewmodel/ViewportRanges.js
+jalview/viewmodel/seqfeatures/FeatureRendererModel.js
+jalview/viewmodel/seqfeatures/FeatureRendererSettings.js
+jalview/viewmodel/seqfeatures/FeaturesDisplayed.js
+jalview/viewmodel/styles/ViewStyle.js
+jalview/workers/AlignCalcManager.js
+jalview/workers/AlignCalcWorker.js
+jalview/workers/ConsensusThread.js
+jalview/workers/ConservationThread.js
+jalview/ws/sifts/SiftsSettings.js
+jalview/xml/binding/jalview/Annotation.js
+jalview/xml/binding/jalview/AnnotationElement.js
+jalview/xml/binding/jalview/Feature.js
+jalview/xml/binding/jalview/FeatureMatcher.js
+jalview/xml/binding/jalview/FeatureMatcherSet.js
+jalview/xml/binding/jalview/FilterBy.js
+jalview/xml/binding/jalview/JalviewModel.js
+jalview/xml/binding/jalview/NoValueColour.js
+jalview/xml/binding/jalview/Pdbentry.js
+jalview/xml/binding/jalview/Sequence.js
+jalview/xml/binding/jalview/SequenceSet.js
+jalview/xml/binding/jalview/SequenceType.js
+jalview/xml/binding/jalview/VAMSAS.js
+jalview/xml/binding/jalview/WebServiceParameterSet.js
 java/applet/AppletContext.js
 java/applet/AppletStub.js
 java/applet/JSApplet.js
-java/awt/ActiveEvent.js
-java/awt/Adjustable.js
 java/awt/AWTEvent.js
 java/awt/AWTEventMulticaster.js
 java/awt/AWTKeyStroke.js
+java/awt/ActiveEvent.js
+java/awt/Adjustable.js
+java/awt/AlphaComposite.js
 java/awt/BasicStroke.js
 java/awt/BorderLayout.js
-java/awt/Button.js
 java/awt/Color.js
-java/awt/color/ColorSpace.js
 java/awt/Component.js
 java/awt/ComponentOrientation.js
-java/awt/ContainerOrderFocusTraversalPolicy.js
+java/awt/Composite.js
 java/awt/Container.js
+java/awt/ContainerOrderFocusTraversalPolicy.js
 java/awt/Cursor.js
 java/awt/DefaultFocusTraversalPolicy.js
 java/awt/DefaultKeyboardFocusManager.js
 java/awt/Dialog.js
 java/awt/Dimension.js
+java/awt/EventDispatchThread.js
+java/awt/EventFilter.js
+java/awt/EventQueue.js
+java/awt/EventQueueItem.js
+java/awt/FlowLayout.js
+java/awt/FocusTraversalPolicy.js
+java/awt/Font.js
+java/awt/FontMetrics.js
+java/awt/GraphicsCallback.js
+java/awt/GraphicsConfiguration.js
+java/awt/GraphicsDevice.js
+java/awt/GraphicsEnvironment.js
+java/awt/GridLayout.js
+java/awt/Image.js
+java/awt/Insets.js
+java/awt/ItemSelectable.js
+java/awt/JSComponent.js
+java/awt/JSDialog.js
+java/awt/JSFrame.js
+java/awt/JSPanel.js
+java/awt/KeyEventDispatcher.js
+java/awt/KeyEventPostProcessor.js
+java/awt/KeyboardFocusManager.js
+java/awt/LayoutManager.js
+java/awt/LayoutManager2.js
+java/awt/LightweightDispatcher.js
+java/awt/Paint.js
+java/awt/Point.js
+java/awt/Queue.js
+java/awt/Rectangle.js
+java/awt/RenderingHints.js
+java/awt/SentEvent.js
+java/awt/Shape.js
+java/awt/Stroke.js
+java/awt/Toolkit.js
+java/awt/Transparency.js
+java/awt/VKCollection.js
+java/awt/Window.js
+java/awt/color/ColorSpace.js
+java/awt/datatransfer/ClipboardOwner.js
+java/awt/datatransfer/FlavorMap.js
+java/awt/datatransfer/FlavorTable.js
+java/awt/datatransfer/SystemFlavorMap.js
+java/awt/dnd/DropTarget.js
+java/awt/dnd/DropTargetContext.js
+java/awt/dnd/DropTargetListener.js
 java/awt/dnd/peer/DropTargetPeer.js
+java/awt/event/AWTEventListener.js
+java/awt/event/ActionEvent.js
 java/awt/event/ActionListener.js
 java/awt/event/AdjustmentEvent.js
 java/awt/event/AdjustmentListener.js
-java/awt/event/AWTEventListener.js
 java/awt/event/ComponentAdapter.js
 java/awt/event/ComponentEvent.js
 java/awt/event/ComponentListener.js
+java/awt/event/ContainerEvent.js
 java/awt/event/ContainerListener.js
+java/awt/event/FocusAdapter.js
 java/awt/event/FocusEvent.js
 java/awt/event/FocusListener.js
 java/awt/event/HierarchyBoundsListener.js
@@ -39,9 +332,13 @@ java/awt/event/InputMethodListener.js
 java/awt/event/InvocationEvent.js
 java/awt/event/ItemEvent.js
 java/awt/event/ItemListener.js
+java/awt/event/KeyAdapter.js
+java/awt/event/KeyEvent.js
 java/awt/event/KeyListener.js
+java/awt/event/MouseAdapter.js
 java/awt/event/MouseEvent.js
 java/awt/event/MouseListener.js
+java/awt/event/MouseMotionAdapter.js
 java/awt/event/MouseMotionListener.js
 java/awt/event/MouseWheelListener.js
 java/awt/event/TextListener.js
@@ -50,103 +347,124 @@ java/awt/event/WindowEvent.js
 java/awt/event/WindowFocusListener.js
 java/awt/event/WindowListener.js
 java/awt/event/WindowStateListener.js
-java/awt/EventDispatchThread.js
-java/awt/EventFilter.js
-java/awt/EventQueue.js
-java/awt/EventQueueItem.js
-java/awt/FlowLayout.js
-java/awt/FocusTraversalPolicy.js
-java/awt/Font.js
 java/awt/font/FontRenderContext.js
-java/awt/FontMetrics.js
-java/awt/Frame.js
 java/awt/geom/AffineTransform.js
 java/awt/geom/Dimension2D.js
 java/awt/geom/Path2D.js
 java/awt/geom/PathIterator.js
 java/awt/geom/Point2D.js
+java/awt/geom/RectIterator.js
 java/awt/geom/Rectangle2D.js
 java/awt/geom/RectangularShape.js
-java/awt/geom/RectIterator.js
-java/awt/GraphicsCallback.js
-java/awt/GraphicsConfiguration.js
-java/awt/GraphicsDevice.js
-java/awt/GraphicsEnvironment.js
+java/awt/image/BufferedImage.js
+java/awt/image/ColorModel.js
+java/awt/image/DataBuffer.js
+java/awt/image/DataBufferInt.js
+java/awt/image/DirectColorModel.js
 java/awt/image/ImageObserver.js
-java/awt/Insets.js
-java/awt/ItemSelectable.js
-java/awt/JSComponent.js
-java/awt/JSDialog.js
-java/awt/JSFrame.js
-java/awt/JSPanel.js
-java/awt/KeyboardFocusManager.js
-java/awt/KeyEventDispatcher.js
-java/awt/KeyEventPostProcessor.js
-java/awt/Label.js
-java/awt/LayoutManager.js
-java/awt/LayoutManager2.js
-java/awt/LightweightDispatcher.js
-java/awt/Paint.js
-java/awt/Panel.js
+java/awt/image/PackedColorModel.js
+java/awt/image/Raster.js
+java/awt/image/RenderedImage.js
+java/awt/image/SampleModel.js
+java/awt/image/SinglePixelPackedSampleModel.js
+java/awt/image/WritableRaster.js
 java/awt/peer/ComponentPeer.js
 java/awt/peer/ContainerPeer.js
 java/awt/peer/FramePeer.js
 java/awt/peer/KeyboardFocusManagerPeer.js
 java/awt/peer/LightweightPeer.js
 java/awt/peer/WindowPeer.js
-java/awt/Point.js
-java/awt/Queue.js
-java/awt/Rectangle.js
-java/awt/RenderingHints.js
-java/awt/Scrollbar.js
-java/awt/ScrollPane.js
-java/awt/Shape.js
-java/awt/Stroke.js
-java/awt/TextArea.js
-java/awt/TextComponent.js
-java/awt/TextField.js
-java/awt/Toolkit.js
-java/awt/Transparency.js
-java/awt/Window.js
+java/awt/print/Printable.js
 java/beans/ChangeListenerMap.js
 java/beans/PropertyChangeEvent.js
 java/beans/PropertyChangeListener.js
 java/beans/PropertyChangeSupport.js
+java/io/BufferedInputStream.js
+java/io/BufferedReader.js
+java/io/ByteArrayInputStream.js
+java/io/Closeable.js
+java/io/File.js
+java/io/FileDescriptor.js
+java/io/FileInputStream.js
+java/io/FileReader.js
+java/io/FileSystem.js
+java/io/FilterInputStream.js
+java/io/InputStream.js
+java/io/InputStreamReader.js
+java/io/PushbackInputStream.js
+java/io/Reader.js
 java/lang/AbstractStringBuilder.js
+java/lang/AutoCloseable.js
 java/lang/Class.js
 java/lang/Enum.js
 java/lang/Iterable.js
-java/lang/reflect/Constructor.js
-java/lang/reflect/Method.js
+java/lang/Readable.js
+java/lang/Runtime.js
 java/lang/StringBuffer.js
 java/lang/StringBuilder.js
 java/lang/Thread.js
 java/lang/ThreadGroup.js
+java/lang/reflect/Constructor.js
+java/lang/reflect/Method.js
+java/math/BigDecimal.js
+java/math/BigInteger.js
+java/math/MathContext.js
 java/math/RoundingMode.js
+java/net/HttpURLConnection.js
+java/net/MalformedURLException.js
 java/net/URL.js
+java/net/URLConnection.js
+java/net/URLDecoder.js
+java/net/URLStreamHandler.js
 java/net/URLStreamHandlerFactory.js
+java/nio/Bits.js
+java/nio/Buffer.js
+java/nio/ByteBuffer.js
+java/nio/ByteOrder.js
+java/nio/CharBuffer.js
+java/nio/HeapByteBuffer.js
+java/nio/HeapCharBuffer.js
+java/nio/charset/Charset.js
+java/nio/charset/CharsetDecoder.js
+java/nio/charset/CoderResult.js
+java/nio/charset/CodingErrorAction.js
+java/security/AccessControlContext.js
+java/security/AccessController.js
+java/security/PrivilegedAction.js
+java/security/PrivilegedExceptionAction.js
+java/text/AttributedCharacterIterator.js
 java/text/CharacterIterator.js
+java/text/DateFormat.js
+java/text/DateFormatSymbols.js
 java/text/DecimalFormat.js
 java/text/DecimalFormatSymbols.js
 java/text/DigitList.js
 java/text/FieldPosition.js
 java/text/Format.js
+java/text/MessageFormat.js
 java/text/NumberFormat.js
+java/text/SimpleDateFormat.js
 java/util/AbstractCollection.js
 java/util/AbstractList.js
 java/util/AbstractMap.js
+java/util/AbstractQueue.js
 java/util/AbstractSequentialList.js
 java/util/AbstractSet.js
+java/util/ArrayDeque.js
 java/util/ArrayList.js
 java/util/Arrays.js
+java/util/BitSet.js
+java/util/Calendar.js
 java/util/Collection.js
 java/util/Collections.js
 java/util/Comparator.js
 java/util/Deque.js
 java/util/Dictionary.js
+java/util/DualPivotQuicksort.js
 java/util/Enumeration.js
 java/util/EventListener.js
 java/util/EventObject.js
+java/util/GregorianCalendar.js
 java/util/HashMap.js
 java/util/HashSet.js
 java/util/Hashtable.js
@@ -155,26 +473,75 @@ java/util/Iterator.js
 java/util/LinkedHashMap.js
 java/util/LinkedList.js
 java/util/List.js
+java/util/ListIterator.js
 java/util/ListResourceBundle.js
 java/util/Locale.js
 java/util/Map.js
+java/util/NavigableMap.js
+java/util/NavigableSet.js
 java/util/Objects.js
+java/util/Properties.js
+java/util/PropertyResourceBundle.js
 java/util/Queue.js
-java/util/Random.js
 java/util/RandomAccess.js
 java/util/ResourceBundle.js
 java/util/Set.js
+java/util/SortedMap.js
+java/util/SortedSet.js
+java/util/StringTokenizer.js
 java/util/TimSort.js
+java/util/TimeZone.js
+java/util/TreeMap.js
+java/util/TreeSet.js
 java/util/Vector.js
+java/util/concurrent/AbstractExecutorService.js
+java/util/concurrent/BlockingQueue.js
+java/util/concurrent/ConcurrentHashMap.js
+java/util/concurrent/ConcurrentMap.js
+java/util/concurrent/Executor.js
+java/util/concurrent/ExecutorService.js
+java/util/concurrent/Executors.js
+java/util/concurrent/LinkedBlockingQueue.js
+java/util/concurrent/RejectedExecutionHandler.js
+java/util/concurrent/Semaphore.js
+java/util/concurrent/ThreadFactory.js
+java/util/concurrent/ThreadPoolExecutor.js
+java/util/concurrent/TimeUnit.js
+java/util/concurrent/atomic/AtomicBoolean.js
+java/util/concurrent/atomic/AtomicInteger.js
+java/util/concurrent/locks/AbstractOwnableSynchronizer.js
+java/util/concurrent/locks/AbstractQueuedSynchronizer.js
+java/util/concurrent/locks/Condition.js
+java/util/concurrent/locks/Lock.js
+java/util/concurrent/locks/ReadWriteLock.js
+java/util/concurrent/locks/ReentrantLock.js
+java/util/concurrent/locks/ReentrantReadWriteLock.js
+java/util/jar/JarEntry.js
+java/util/jar/JarInputStream.js
+java/util/logging/Level.js
+java/util/logging/Logger.js
+java/util/regex/MatchResult.js
+java/util/regex/Matcher.js
+java/util/regex/Pattern.js
+java/util/zip/CRC32.js
+java/util/zip/Inflater.js
+java/util/zip/InflaterInputStream.js
+java/util/zip/ZipConstants.js
+java/util/zip/ZipEntry.js
+java/util/zip/ZipInputStream.js
+javajs/api/GenericLineReader.js
 javajs/api/JSFunction.js
+javajs/api/JSONEncodable.js
+javajs/util/AU.js
 javajs/util/AjaxURLConnection.js
+javajs/util/AjaxURLStreamHandler.js
 javajs/util/AjaxURLStreamHandlerFactory.js
-javajs/util/AU.js
+javajs/util/Encoding.js
 javajs/util/JSThread.js
 javajs/util/Lst.js
 javajs/util/PT.js
+javajs/util/Rdr.js
 javajs/util/SB.js
-javax/net/ssl/HttpsUrlConnection.js
 javax/swing/AbstractAction.js
 javax/swing/AbstractButton.js
 javax/swing/AbstractListModel.js
@@ -182,13 +549,6 @@ javax/swing/Action.js
 javax/swing/ActionMap.js
 javax/swing/AncestorNotifier.js
 javax/swing/ArrayTable.js
-javax/swing/border/AbstractBorder.js
-javax/swing/border/BevelBorder.js
-javax/swing/border/Border.js
-javax/swing/border/CompoundBorder.js
-javax/swing/border/EmptyBorder.js
-javax/swing/border/EtchedBorder.js
-javax/swing/border/LineBorder.js
 javax/swing/BorderFactory.js
 javax/swing/BoundedRangeModel.js
 javax/swing/BoxLayout.js
@@ -196,24 +556,14 @@ javax/swing/ButtonGroup.js
 javax/swing/ButtonModel.js
 javax/swing/ClientPropertyKey.js
 javax/swing/ComboBoxModel.js
+javax/swing/ComponentInputMap.js
 javax/swing/DefaultBoundedRangeModel.js
 javax/swing/DefaultButtonModel.js
 javax/swing/DefaultComboBoxModel.js
+javax/swing/DefaultDesktopManager.js
+javax/swing/DefaultListCellRenderer.js
 javax/swing/DefaultSingleSelectionModel.js
-javax/swing/DropMode.js
-javax/swing/event/AncestorEvent.js
-javax/swing/event/AncestorListener.js
-javax/swing/event/CaretEvent.js
-javax/swing/event/CaretListener.js
-javax/swing/event/ChangeEvent.js
-javax/swing/event/ChangeListener.js
-javax/swing/event/DocumentEvent.js
-javax/swing/event/DocumentListener.js
-javax/swing/event/EventListenerList.js
-javax/swing/event/ListDataEvent.js
-javax/swing/event/ListDataListener.js
-javax/swing/event/UndoableEditEvent.js
-javax/swing/event/UndoableEditListener.js
+javax/swing/DesktopManager.js
 javax/swing/FocusManager.js
 javax/swing/InternalFrameFocusTraversalPolicy.js
 javax/swing/LayoutComparator.js
@@ -228,7 +578,10 @@ javax/swing/JCheckBox.js
 javax/swing/JCheckBoxMenuItem.js
 javax/swing/JComboBox.js
 javax/swing/JComponent.js
+javax/swing/JDesktopPane.js
+javax/swing/JDialog.js
 javax/swing/JFrame.js
+javax/swing/JInternalFrame.js
 javax/swing/JLabel.js
 javax/swing/JLayeredPane.js
 javax/swing/JMenu.js
@@ -236,124 +589,182 @@ javax/swing/JMenuBar.js
 javax/swing/JMenuItem.js
 javax/swing/JPanel.js
 javax/swing/JPopupMenu.js
+javax/swing/JProgressBar.js
+javax/swing/JRadioButton.js
 javax/swing/JRadioButtonMenuItem.js
 javax/swing/JRootPane.js
 javax/swing/JScrollBar.js
 javax/swing/JScrollPane.js
 javax/swing/JSeparator.js
-javax/swing/JTextArea.js
-javax/swing/JTextField.js
+javax/swing/JTabbedPane.js
 javax/swing/JToggleButton.js
+javax/swing/JToolTip.js
 javax/swing/JViewport.js
-javax/swing/KeyboardManager.js
+javax/swing/JWindow.js
 javax/swing/KeyStroke.js
+javax/swing/KeyboardManager.js
+javax/swing/ListCellRenderer.js
 javax/swing/ListModel.js
 javax/swing/LookAndFeel.js
 javax/swing/MenuElement.js
+javax/swing/MenuSelectionManager.js
 javax/swing/MutableComboBoxModel.js
-javax/swing/plaf/ActionMapUIResource.js
-javax/swing/plaf/basic/BasicBorders.js
-javax/swing/plaf/BorderUIResource.js
-javax/swing/plaf/ColorUIResource.js
-javax/swing/plaf/ComponentUI.js
-javax/swing/plaf/DimensionUIResource.js
-javax/swing/plaf/FontUIResource.js
-javax/swing/plaf/InputMapUIResource.js
-javax/swing/plaf/InsetsUIResource.js
-javax/swing/plaf/UIResource.js
+javax/swing/Popup.js
+javax/swing/PopupFactory.js
 javax/swing/RepaintManager.js
 javax/swing/RootPaneContainer.js
-javax/swing/Scrollable.js
 javax/swing/ScrollPaneConstants.js
 javax/swing/ScrollPaneLayout.js
+javax/swing/Scrollable.js
 javax/swing/SingleSelectionModel.js
 javax/swing/SizeRequirements.js
 javax/swing/SwingConstants.js
 javax/swing/SwingPaintEventDispatcher.js
 javax/swing/SwingUtilities.js
-javax/swing/text/AbstractDocument.js
-javax/swing/text/AttributeSet.js
-javax/swing/text/Caret.js
-javax/swing/text/DefaultCaret.js
-javax/swing/text/DefaultEditorKit.js
-javax/swing/text/Document.js
-javax/swing/text/EditorKit.js
-javax/swing/text/Element.js
-javax/swing/text/GapContent.js
-javax/swing/text/GapVector.js
-javax/swing/text/JTextComponent.js
-javax/swing/text/MutableAttributeSet.js
-javax/swing/text/PlainDocument.js
-javax/swing/text/PlainView.js
-javax/swing/text/Position.js
-javax/swing/text/Segment.js
-javax/swing/text/SegmentCache.js
-javax/swing/text/SimpleAttributeSet.js
-javax/swing/text/Style.js
-javax/swing/text/StyleConstants.js
-javax/swing/text/StyleContext.js
-javax/swing/text/TabExpander.js
-javax/swing/text/TextAction.js
-javax/swing/text/Utilities.js
-javax/swing/text/View.js
-javax/swing/tree/TreeNode.js
+javax/swing/Timer.js
+javax/swing/ToolTipManager.js
 javax/swing/UIDefaults.js
 javax/swing/UIManager.js
-javax/swing/undo/AbstractUndoableEdit.js
-javax/swing/undo/CompoundEdit.js
-javax/swing/undo/UndoableEdit.js
 javax/swing/ViewportLayout.js
 javax/swing/WindowConstants.js
-sun/awt/AppContext.js
+javax/swing/border/AbstractBorder.js
+javax/swing/border/BevelBorder.js
+javax/swing/border/Border.js
+javax/swing/border/CompoundBorder.js
+javax/swing/border/EmptyBorder.js
+javax/swing/border/EtchedBorder.js
+javax/swing/border/LineBorder.js
+javax/swing/border/TitledBorder.js
+javax/swing/event/AncestorEvent.js
+javax/swing/event/AncestorListener.js
+javax/swing/event/ChangeEvent.js
+javax/swing/event/ChangeListener.js
+javax/swing/event/EventListenerList.js
+javax/swing/event/InternalFrameAdapter.js
+javax/swing/event/InternalFrameEvent.js
+javax/swing/event/InternalFrameListener.js
+javax/swing/event/ListDataListener.js
+javax/swing/event/MenuKeyListener.js
+javax/swing/event/MenuListener.js
+javax/swing/event/TableModelListener.js
+javax/swing/plaf/ActionMapUIResource.js
+javax/swing/plaf/BorderUIResource.js
+javax/swing/plaf/ColorUIResource.js
+javax/swing/plaf/ComponentInputMapUIResource.js
+javax/swing/plaf/ComponentUI.js
+javax/swing/plaf/DimensionUIResource.js
+javax/swing/plaf/FontUIResource.js
+javax/swing/plaf/InsetsUIResource.js
+javax/swing/plaf/UIResource.js
+javax/swing/plaf/basic/BasicBorders.js
+javax/swing/table/AbstractTableModel.js
+javax/swing/table/TableModel.js
+javax/xml/bind/ContextFinder.js
+javax/xml/bind/GetPropertyAction.js
+javax/xml/bind/JAXBContext.js
+javax/xml/bind/JAXBContextFactory.js
+javax/xml/bind/JAXBElement.js
+javax/xml/bind/ModuleUtil.js
+javax/xml/bind/ServiceLoaderUtil.js
+javax/xml/bind/Unmarshaller.js
+javax/xml/bind/ValidationEventHandler.js
+javax/xml/bind/annotation/adapters/CollapsedStringAdapter.js
+javax/xml/bind/annotation/adapters/XmlAdapter.js
+javax/xml/bind/helpers/AbstractUnmarshallerImpl.js
+javax/xml/bind/helpers/DefaultValidationEventHandler.js
+javax/xml/datatype/DatatypeFactory.js
+javax/xml/datatype/XMLGregorianCalendar.js
+javax/xml/namespace/QName.js
+javax/xml/stream/XMLInputFactory.js
+javax/xml/stream/XMLStreamReader.js
+org/apache/xerces/jaxp/datatype/DatatypeFactoryImpl.js
+org/apache/xerces/jaxp/datatype/XMLGregorianCalendarImpl.js
+org/json/simple/parser/JSONParser.js
+org/json/simple/parser/ParseException.js
+org/json/simple/parser/Yylex.js
+org/xml/sax/AttributeList.js
+org/xml/sax/Attributes.js
+org/xml/sax/ContentHandler.js
+org/xml/sax/InputSource.js
+org/xml/sax/Parser.js
+org/xml/sax/XMLReader.js
+org/xml/sax/ext/Attributes2.js
 sun/awt/AWTAutoShutdown.js
+sun/awt/AppContext.js
 sun/awt/CausedFocusEvent.js
 sun/awt/ComponentFactory.js
+sun/awt/EventQueueItem.js
 sun/awt/KeyboardFocusManagerPeerProvider.js
 sun/awt/MostRecentKeyValue.js
 sun/awt/MostRecentThreadAppContext.js
 sun/awt/PaintEventDispatcher.js
 sun/awt/PostEventQueue.js
 sun/awt/RequestFocusController.js
+sun/awt/SunGraphicsCallback.js
 sun/awt/SunToolkit.js
 sun/awt/WindowClosingListener.js
 sun/awt/WindowClosingSupport.js
+sun/awt/image/DataStealer.js
+sun/awt/image/IntegerComponentRaster.js
+sun/awt/image/IntegerInterleavedRaster.js
+sun/awt/image/SunWritableRaster.js
 sun/font/FontDesignMetrics.js
+sun/java2d/StateTrackable.js
+sun/java2d/StateTrackableDelegate.js
+sun/nio/cs/ArrayDecoder.js
+sun/nio/cs/HistoricallyNamedCharset.js
+sun/nio/cs/StandardCharsets.js
+sun/nio/cs/ThreadLocalCoders.js
+sun/nio/cs/UTF_8.js
+sun/nio/cs/Unicode.js
 sun/swing/DefaultLookup.js
 sun/swing/SwingLazyValue.js
+sun/swing/UIAction.js
 sun/text/resources/FormatData.js
 sun/text/resources/FormatData_en.js
+sun/util/calendar/AbstractCalendar.js
+sun/util/calendar/BaseCalendar.js
+sun/util/calendar/CalendarDate.js
+sun/util/calendar/CalendarSystem.js
+sun/util/calendar/CalendarUtils.js
+sun/util/calendar/Gregorian.js
+sun/util/calendar/ZoneInfo.js
 sun/util/resources/LocaleData.js
-swingjs/a2s/A2SContainer.js
-swingjs/a2s/A2SEvent.js
-swingjs/a2s/A2SListener.js
-swingjs/a2s/Applet.js
-swingjs/a2s/Button.js
-swingjs/a2s/Label.js
-swingjs/a2s/Panel.js
-swingjs/a2s/Scrollbar.js
-swingjs/a2s/ScrollPane.js
-swingjs/a2s/TextArea.js
-swingjs/a2s/TextField.js
-swingjs/api/Interface.js
-swingjs/api/js/DOMNode.js
-swingjs/api/js/HTML5CanvasContext2D.js
-swingjs/api/js/JSInterface.js
-swingjs/jquery/JQueryUI.js
 swingjs/JSApp.js
 swingjs/JSAppletThread.js
 swingjs/JSAppletViewer.js
+swingjs/JSCharSet.js
+swingjs/JSDummyApplet.js
 swingjs/JSFocusPeer.js
 swingjs/JSFontMetrics.js
 swingjs/JSFrameViewer.js
 swingjs/JSGraphics2D.js
+swingjs/JSGraphicsCompositor.js
 swingjs/JSGraphicsConfiguration.js
 swingjs/JSGraphicsEnvironment.js
+swingjs/JSKeyEvent.js
+swingjs/JSMenuManager.js
 swingjs/JSMouse.js
-swingjs/JSNullComponentPeer.js
 swingjs/JSScreenDevice.js
 swingjs/JSThreadGroup.js
 swingjs/JSToolkit.js
 swingjs/JSUtil.js
+swingjs/a2s/Dialog.js
+swingjs/api/Interface.js
+swingjs/api/js/DOMNode.js
+swingjs/api/js/HTML5CanvasContext2D.js
+swingjs/api/js/JSInterface.js
+swingjs/jquery/JQueryUI.js
+swingjs/jzlib/Adler32.js
+swingjs/jzlib/CRC32.js
+swingjs/jzlib/Checksum.js
+swingjs/jzlib/InfBlocks.js
+swingjs/jzlib/InfCodes.js
+swingjs/jzlib/InfTree.js
+swingjs/jzlib/Inflate.js
+swingjs/jzlib/Inflater.js
+swingjs/jzlib/InflaterInputStream.js
+swingjs/jzlib/ZStream.js
 swingjs/plaf/ButtonListener.js
 swingjs/plaf/DefaultMenuLayout.js
 swingjs/plaf/HTML5LookAndFeel.js
@@ -363,9 +774,12 @@ swingjs/plaf/JSCheckBoxMenuItemUI.js
 swingjs/plaf/JSCheckBoxUI.js
 swingjs/plaf/JSComboBoxUI.js
 swingjs/plaf/JSComponentUI.js
+swingjs/plaf/JSDesktopIconUI.js
+swingjs/plaf/JSDesktopPaneUI.js
 swingjs/plaf/JSEventHandler.js
 swingjs/plaf/JSFrameUI.js
 swingjs/plaf/JSGraphicsUtils.js
+swingjs/plaf/JSInternalFrameUI.js
 swingjs/plaf/JSLabelUI.js
 swingjs/plaf/JSLayeredPaneUI.js
 swingjs/plaf/JSLightweightUI.js
@@ -375,6 +789,8 @@ swingjs/plaf/JSMenuUI.js
 swingjs/plaf/JSPanelUI.js
 swingjs/plaf/JSPopupMenuSeparatorUI.js
 swingjs/plaf/JSPopupMenuUI.js
+swingjs/plaf/JSPopupUI.js
+swingjs/plaf/JSProgressBarUI.js
 swingjs/plaf/JSRadioButtonMenuItemUI.js
 swingjs/plaf/JSRadioButtonUI.js
 swingjs/plaf/JSRootPaneUI.js
@@ -382,14 +798,201 @@ swingjs/plaf/JSScrollBarUI.js
 swingjs/plaf/JSScrollPaneUI.js
 swingjs/plaf/JSSeparatorUI.js
 swingjs/plaf/JSSliderUI.js
-swingjs/plaf/JSTextAreaUI.js
-swingjs/plaf/JSTextFieldUI.js
-swingjs/plaf/JSTextUI.js
-swingjs/plaf/JSTextViewUI.js
+swingjs/plaf/JSTabbedPaneUI.js
+swingjs/plaf/JSToolTipUI.js
 swingjs/plaf/JSViewportUI.js
 swingjs/plaf/JSWindowUI.js
 swingjs/plaf/LazyActionMap.js
 swingjs/plaf/Resizer.js
+swingjs/xml/JSJAXBClass.js
+swingjs/xml/JSJAXBContext.js
+swingjs/xml/JSJAXBContextFactory.js
+swingjs/xml/JSJAXBField.js
+swingjs/xml/JSJAXBUnmarshaller.js
+swingjs/xml/JSSAXAttributes.js
+swingjs/xml/JSSAXParser.js
+swingjs/xml/JSXMLGregorianCalendarImpl.js
+swingjs/xml/JSXMLInputFactory.js
+swingjs/xml/JSXMLStreamReader.js
+intervalstore/api/IntervalI.js
+intervalstore/api/IntervalStoreI.js
+intervalstore/nonc/IntervalStore.js
+jalview/analysis/GeneticCodeI.js
+jalview/analysis/GeneticCodes.js
+jalview/api/FeaturesSourceI.js
+jalview/io/FastaFile.js
+jalview/io/FeaturesFile.js
+jalview/io/FormatAdapter.js
+jalview/schemes/IdColourScheme.js
+jalview/util/LinkedIdentityHashSet.js
+jalview/util/ParseHtmlBodyAndLinks.js
+java/util/function/Function.js
+swingjs/a2s/A2SContainer.js
+
+jalview/fts/api/FTSData.js
+jalview/fts/api/FTSDataColumnI.js
+jalview/fts/api/FTSRestClientI.js
+jalview/fts/core/DecimalFormatTableCellRenderer.js
+jalview/fts/core/FTSDataColumnPreferences.js
+jalview/fts/core/FTSRestClient.js
+jalview/fts/core/FTSRestRequest.js
+jalview/fts/core/FTSRestResponse.js
+jalview/fts/service/pdb/PDBFTSRestClient.js
+jalview/gui/StructureChooser.js
+jalview/javascript/json/JSON.js
+jalview/javascript/web/Client.js
+jalview/javascript/web/ClientResponse.js
+jalview/javascript/web/WebResource.js
+jalview/jbgui/BackupFilesPresetEntry.js
+jalview/jbgui/GStructureChooser.js
+jalview/jbgui/IntKeyStringValueEntry.js
+java/awt/CardLayout.js
+java/awt/TextComponent.js
+java/awt/image/ImageConsumer.js
+java/io/ObjectStreamField.js
+java/net/URI.js
+java/util/ComparableTimSort.js
+java/util/LinkedHashSet.js
+java/util/WeakHashMap.js
+javajs/util/Base64.js
+javax/net/ssl/HttpsURLConnection.js
+javax/swing/CellRendererPane.js
+javax/swing/DefaultListSelectionModel.js
+javax/swing/DefaultRowSorter.js
+javax/swing/DropMode.js
+javax/swing/Icon.js
+javax/swing/ImageIcon.js
+javax/swing/JTable.js
+javax/swing/JTextField.js
+javax/swing/ListSelectionModel.js
+javax/swing/RowSorter.js
+javax/swing/SortOrder.js
+javax/swing/event/CaretEvent.js
+javax/swing/event/CaretListener.js
+javax/swing/event/CellEditorListener.js
+javax/swing/event/DocumentListener.js
+javax/swing/event/ListSelectionEvent.js
+javax/swing/event/ListSelectionListener.js
+javax/swing/event/MouseInputListener.js
+javax/swing/event/RowSorterEvent.js
+javax/swing/event/RowSorterListener.js
+javax/swing/event/SwingPropertyChangeSupport.js
+javax/swing/event/TableColumnModelEvent.js
+javax/swing/event/TableColumnModelListener.js
+javax/swing/event/TableModelEvent.js
+javax/swing/plaf/InputMapUIResource.js
+javax/swing/table/DefaultTableCellRenderer.js
+javax/swing/table/DefaultTableColumnModel.js
+javax/swing/table/DefaultTableModel.js
+javax/swing/table/JTableHeader.js
+javax/swing/table/TableCellRenderer.js
+javax/swing/table/TableColumn.js
+javax/swing/table/TableColumnModel.js
+javax/swing/table/TableRowSorter.js
+javax/swing/text/Caret.js
+javax/swing/text/DefaultCaret.js
+javax/swing/text/DefaultEditorKit.js
+javax/swing/text/Document.js
+javax/swing/text/EditorKit.js
+javax/swing/text/Element.js
+javax/swing/text/JTextComponent.js
+javax/swing/text/Position.js
+javax/swing/text/TextAction.js
+javax/swing/text/View.js
+net/miginfocom/layout/AC.js
+net/miginfocom/layout/AnimSpec.js
+net/miginfocom/layout/BoundSize.js
+net/miginfocom/layout/CC.js
+net/miginfocom/layout/ComponentWrapper.js
+net/miginfocom/layout/ConstraintParser.js
+net/miginfocom/layout/ContainerWrapper.js
+net/miginfocom/layout/DimConstraint.js
+net/miginfocom/layout/Grid.js
+net/miginfocom/layout/LC.js
+net/miginfocom/layout/LayoutUtil.js
+net/miginfocom/layout/LinkHandler.js
+net/miginfocom/layout/PlatformDefaults.js
+net/miginfocom/layout/ResizeConstraint.js
+net/miginfocom/layout/UnitValue.js
+net/miginfocom/swing/MigLayout.js
+net/miginfocom/swing/SwingComponentWrapper.js
+net/miginfocom/swing/SwingContainerWrapper.js
+sun/swing/StringUIClientPropertyKey.js
+sun/swing/SwingUtilities2.js
+sun/swing/UIClientPropertyKey.js
+sun/swing/table/DefaultTableCellHeaderRenderer.js
+swingjs/JSImage.js
+swingjs/JSImagekit.js
+swingjs/json/JSON.js
+swingjs/plaf/BasicHTML.js
+swingjs/plaf/CellHolder.js
+swingjs/plaf/JSTableHeaderUI.js
+swingjs/plaf/JSTableUI.js
+swingjs/plaf/JSTextFieldUI.js
+swingjs/plaf/JSTextUI.js
 swingjs/plaf/TextListener.js
 
+com/stevesoft/pat/Bracket.js
+com/stevesoft/pat/CaseMgr.js
+com/stevesoft/pat/FastMulti.js
+com/stevesoft/pat/NUnicodeAlpha.js
+com/stevesoft/pat/NUnicodeCurrency.js
+com/stevesoft/pat/NUnicodeDigit.js
+com/stevesoft/pat/NUnicodeMath.js
+com/stevesoft/pat/NUnicodePunct.js
+com/stevesoft/pat/NUnicodeW.js
+com/stevesoft/pat/NUnicodeWhite.js
+com/stevesoft/pat/NoPattern.js
+com/stevesoft/pat/Or.js
+com/stevesoft/pat/OrMark.js
+com/stevesoft/pat/Pattern.js
+com/stevesoft/pat/PatternSub.js
+com/stevesoft/pat/Pthings.js
+com/stevesoft/pat/Range.js
+com/stevesoft/pat/RegOpt.js
+com/stevesoft/pat/RegRes.js
+com/stevesoft/pat/Regex.js
+com/stevesoft/pat/Rthings.js
+com/stevesoft/pat/StrPos.js
+com/stevesoft/pat/StringLike.js
+com/stevesoft/pat/SubMark.js
+com/stevesoft/pat/UniValidator.js
+com/stevesoft/pat/UnicodeAlpha.js
+com/stevesoft/pat/UnicodeCurrency.js
+com/stevesoft/pat/UnicodeDigit.js
+com/stevesoft/pat/UnicodeLower.js
+com/stevesoft/pat/UnicodeMath.js
+com/stevesoft/pat/UnicodePunct.js
+com/stevesoft/pat/UnicodeUpper.js
+com/stevesoft/pat/UnicodeW.js
+com/stevesoft/pat/UnicodeWhite.js
+com/stevesoft/pat/Validator.js
+com/stevesoft/pat/oneChar.js
+com/stevesoft/pat/parsePerl.js
+com/stevesoft/pat/patInt.js
+com/stevesoft/pat/wrap/StringWrap.js
+
+jalview/api/DBRefEntryI.js
+jalview/api/SequenceStructureBinding.js
+jalview/api/structures/JalviewStructureDisplayI.js
+jalview/datamodel/DBRefEntry.js
+jalview/datamodel/Mapping.js
+jalview/datamodel/features/FeatureAttributes.js
 
+intervalstore/impl/BinarySearcher.js
+intervalstore/impl/IntervalStore.js
+jalview/api/AlignmentColsCollectionI.js
+jalview/api/AlignmentRowsCollectionI.js
+jalview/api/RendererListenerI.js
+jalview/bin/JalviewJSApi.js
+jalview/datamodel/VisibleColsCollection.js
+jalview/datamodel/VisibleRowsCollection.js
+jalview/datamodel/VisibleRowsIterator.js
+jalview/gui/OverviewCanvas.js
+jalview/gui/OverviewPanel.js
+jalview/gui/ProgressPanel.js
+jalview/renderer/OverviewRenderer.js
+jalview/renderer/OverviewResColourFinder.js
+jalview/renderer/seqfeatures/FeatureColourFinder.js
+jalview/viewmodel/OverviewDimensions.js
+jalview/viewmodel/OverviewDimensionsHideHidden.js
diff --git a/utils/jalviewjs/_j2sclasslist_jmol.txt b/utils/jalviewjs/_j2sclasslist_jmol.txt
new file mode 100644 (file)
index 0000000..5c86baf
--- /dev/null
@@ -0,0 +1,233 @@
+jalview/ext/jmol/JalviewJmolBinding.js
+jalview/ext/jmol/JmolCommands.js
+jalview/ext/jmol/JmolParser.js
+jalview/gui/AppJmol.js
+jalview/gui/AppJmolBinding.js
+jalview/gui/StructureViewerBase.js
+jalview/io/StructureFile.js
+jalview/jbgui/GStructureViewer.js
+jalview/renderer/seqfeatures/FeatureColourFinder.js
+jalview/structure/StructureListener.js
+jalview/structure/StructureMapping.js
+jalview/structure/StructureMappingcommandSet.js
+jalview/structures/models/AAStructureBindingModel.js
+jalview/structures/models/SequenceStructureBindingModel.js
+jalview/util/CaseInsensitiveString.js
+jalview/util/HttpUtils.js
+jalview/util/MapList.js
+jalview/ws/dbsources/EbiFileRetrievedProxy.js
+jalview/ws/dbsources/Pdb.js
+jalview/ws/seqfetcher/DbSourceProxy.js
+jalview/ws/seqfetcher/DbSourceProxyImpl.js
+jalview/ws/seqfetcher/DbSourceProxyRoot.js
+java/awt/font/TextAttribute.js
+java/awt/image/ImageProducer.js
+java/awt/image/PixelGrabber.js
+java/io/BufferedWriter.js
+java/io/FilterOutputStream.js
+java/io/OutputStream.js
+java/io/OutputStreamWriter.js
+java/io/PrintStream.js
+java/io/StringWriter.js
+java/io/Writer.js
+javajs/api/BytePoster.js
+javajs/api/GenericOutputChannel.js
+javajs/util/A4.js
+javajs/util/BS.js
+javajs/util/CU.js
+javajs/util/DF.js
+javajs/util/LimitedLineReader.js
+javajs/util/M3.js
+javajs/util/M34.js
+javajs/util/M4.js
+javajs/util/Measure.js
+javajs/util/OC.js
+javajs/util/P3.js
+javajs/util/P3i.js
+javajs/util/P4.js
+javajs/util/T3.js
+javajs/util/T3i.js
+javajs/util/T4.js
+javajs/util/V3.js
+mc_view/Atom.js
+mc_view/Bond.js
+mc_view/PDBChain.js
+mc_view/Residue.js
+org/jmol/adapter/readers/pdb/PdbReader.js
+org/jmol/adapter/smarter/Atom.js
+org/jmol/adapter/smarter/AtomIterator.js
+org/jmol/adapter/smarter/AtomSetCollection.js
+org/jmol/adapter/smarter/AtomSetCollectionReader.js
+org/jmol/adapter/smarter/AtomSetObject.js
+org/jmol/adapter/smarter/Bond.js
+org/jmol/adapter/smarter/BondIterator.js
+org/jmol/adapter/smarter/Resolver.js
+org/jmol/adapter/smarter/SmarterJmolAdapter.js
+org/jmol/adapter/smarter/Structure.js
+org/jmol/api/AtomIndexIterator.js
+org/jmol/api/EventManager.js
+org/jmol/api/GenericFileInterface.js
+org/jmol/api/GenericMouseInterface.js
+org/jmol/api/GenericPlatform.js
+org/jmol/api/Interface.js
+org/jmol/api/JmolAdapter.js
+org/jmol/api/JmolAdapterAtomIterator.js
+org/jmol/api/JmolAdapterBondIterator.js
+org/jmol/api/JmolCallbackListener.js
+org/jmol/api/JmolGraphicsInterface.js
+org/jmol/api/JmolPropertyManager.js
+org/jmol/api/JmolRendererInterface.js
+org/jmol/api/JmolRepaintManager.js
+org/jmol/api/JmolScriptEvaluator.js
+org/jmol/api/JmolScriptFunction.js
+org/jmol/api/JmolScriptManager.js
+org/jmol/api/JmolSelectionListener.js
+org/jmol/api/JmolStatusListener.js
+org/jmol/api/JmolViewer.js
+org/jmol/api/PlatformViewer.js
+org/jmol/api/Translator.js
+org/jmol/atomdata/AtomDataServer.js
+org/jmol/atomdata/RadiusData.js
+org/jmol/awt/AwtFile.js
+org/jmol/awt/AwtFont.js
+org/jmol/awt/Display.js
+org/jmol/awt/Image.js
+org/jmol/awt/Mouse.js
+org/jmol/awt/Platform.js
+org/jmol/bspt/Bspf.js
+org/jmol/bspt/Bspt.js
+org/jmol/bspt/CubeIterator.js
+org/jmol/bspt/Element.js
+org/jmol/bspt/Leaf.js
+org/jmol/bspt/Node.js
+org/jmol/c/CBK.js
+org/jmol/c/FIL.js
+org/jmol/c/PAL.js
+org/jmol/c/STER.js
+org/jmol/c/STR.js
+org/jmol/c/VDW.js
+org/jmol/g3d/CylinderRenderer.js
+org/jmol/g3d/G3DRenderer.js
+org/jmol/g3d/Graphics3D.js
+org/jmol/g3d/HermiteRenderer.js
+org/jmol/g3d/LineRenderer.js
+org/jmol/g3d/Pixelator.js
+org/jmol/g3d/Platform3D.js
+org/jmol/g3d/PrecisionRenderer.js
+org/jmol/g3d/SphereRenderer.js
+org/jmol/g3d/TextRenderer.js
+org/jmol/g3d/TextString.js
+org/jmol/g3d/TriangleRenderer.js
+org/jmol/i18n/GT.js
+org/jmol/i18n/Language.js
+org/jmol/i18n/Resource.js
+org/jmol/io/FileReader.js
+org/jmol/modelset/Atom.js
+org/jmol/modelset/AtomCollection.js
+org/jmol/modelset/AtomIteratorWithinModel.js
+org/jmol/modelset/Bond.js
+org/jmol/modelset/BondCollection.js
+org/jmol/modelset/BondIterator.js
+org/jmol/modelset/BondIteratorSelected.js
+org/jmol/modelset/Chain.js
+org/jmol/modelset/Group.js
+org/jmol/modelset/Model.js
+org/jmol/modelset/ModelLoader.js
+org/jmol/modelset/ModelSet.js
+org/jmol/modelset/Orientation.js
+org/jmol/modelset/Structure.js
+org/jmol/modelsetbio/AlphaMonomer.js
+org/jmol/modelsetbio/AlphaPolymer.js
+org/jmol/modelsetbio/BioModel.js
+org/jmol/modelsetbio/BioModelSet.js
+org/jmol/modelsetbio/BioPolymer.js
+org/jmol/modelsetbio/BioResolver.js
+org/jmol/modelsetbio/Helix.js
+org/jmol/modelsetbio/Monomer.js
+org/jmol/modelsetbio/ProteinStructure.js
+org/jmol/render/BallsRenderer.js
+org/jmol/render/FontLineShapeRenderer.js
+org/jmol/render/FrankRenderer.js
+org/jmol/render/RepaintManager.js
+org/jmol/render/ShapeRenderer.js
+org/jmol/render/SticksRenderer.js
+org/jmol/renderbio/BackboneRenderer.js
+org/jmol/renderbio/BioShapeRenderer.js
+org/jmol/renderbio/CartoonRenderer.js
+org/jmol/renderbio/RocketsRenderer.js
+org/jmol/renderbio/StrandsRenderer.js
+org/jmol/script/ContextToken.js
+org/jmol/script/SV.js
+org/jmol/script/ScriptCompiler.js
+org/jmol/script/ScriptContext.js
+org/jmol/script/ScriptError.js
+org/jmol/script/ScriptEval.js
+org/jmol/script/ScriptExpr.js
+org/jmol/script/ScriptFlowContext.js
+org/jmol/script/ScriptFunction.js
+org/jmol/script/ScriptManager.js
+org/jmol/script/ScriptMathProcessor.js
+org/jmol/script/ScriptParam.js
+org/jmol/script/ScriptTokenParser.js
+org/jmol/script/T.js
+org/jmol/scriptext/MathExt.js
+org/jmol/shape/AtomShape.js
+org/jmol/shape/Balls.js
+org/jmol/shape/Frank.js
+org/jmol/shape/Mesh.js
+org/jmol/shape/Shape.js
+org/jmol/shape/Sticks.js
+org/jmol/shapebio/Backbone.js
+org/jmol/shapebio/BioShape.js
+org/jmol/shapebio/BioShapeCollection.js
+org/jmol/shapebio/Cartoon.js
+org/jmol/shapebio/Rockets.js
+org/jmol/thread/HoverWatcherThread.js
+org/jmol/thread/JmolThread.js
+org/jmol/util/BSUtil.js
+org/jmol/util/BoxInfo.js
+org/jmol/util/C.js
+org/jmol/util/ColorEncoder.js
+org/jmol/util/CommandHistory.js
+org/jmol/util/DefaultLogger.js
+org/jmol/util/Edge.js
+org/jmol/util/Elements.js
+org/jmol/util/Escape.js
+org/jmol/util/GData.js
+org/jmol/util/Geodesic.js
+org/jmol/util/Int2IntHash.js
+org/jmol/util/Int2IntHashEntry.js
+org/jmol/util/Logger.js
+org/jmol/util/LoggerInterface.js
+org/jmol/util/MeshSurface.js
+org/jmol/util/Node.js
+org/jmol/util/Normix.js
+org/jmol/util/Point3fi.js
+org/jmol/util/Rectangle.js
+org/jmol/util/Rgb16.js
+org/jmol/util/Shader.js
+org/jmol/util/SimpleEdge.js
+org/jmol/util/SimpleNode.js
+org/jmol/util/TempArray.js
+org/jmol/viewer/ActionManager.js
+org/jmol/viewer/AnimationManager.js
+org/jmol/viewer/ColorManager.js
+org/jmol/viewer/FileManager.js
+org/jmol/viewer/Gesture.js
+org/jmol/viewer/GlobalSettings.js
+org/jmol/viewer/JC.js
+org/jmol/viewer/ModelManager.js
+org/jmol/viewer/MotionPoint.js
+org/jmol/viewer/MouseState.js
+org/jmol/viewer/PropertyManager.js
+org/jmol/viewer/SelectionManager.js
+org/jmol/viewer/ShapeManager.js
+org/jmol/viewer/StateManager.js
+org/jmol/viewer/StatusManager.js
+org/jmol/viewer/TransformManager.js
+org/jmol/viewer/Viewer.js
+org/jmol/viewer/binding/Binding.js
+org/jmol/viewer/binding/JmolBinding.js
+sun/awt/image/OffScreenImageSource.js
+sun/font/AttributeValues.js
+sun/font/EAttribute.js
\ No newline at end of file