-
-
-
-
-
-
-
-
-// closure
-def jalviewjsCallCore(String name, FileCollection list, String jsDir, String outputDir) {
- def coreFileName = "core${name}.js"
- def coreFilePath = "${outputDir}/${coreFileName}"
- def coreFile = file(coreFilePath)
- println("...Generating ${coreFilePath}")
-
- def coreTop = file("${jsDir}/core/coretop2.js")
- def coreBottom = file("${jsDir}/core/corebottom2.js")
- coreFile.getParentFile().mkdirs()
- coreFile.createNewFile()
- coreFile.write( coreTop.text )
- list.each {
- f ->
- if (f.exists()) {
- def t = f.text
- t.replaceAll("Clazz\\.","Clazz_")
- t.replaceAll("Class__","Clazz._")
- coreFile.append( t )
- } else {
- println("...file ${line} does not exist, skipping")
- }
- }
- coreFile.append( coreBottom.text )
-
- def coreZFileName = "core${name}.z.js"
- def coreZFilePath = "${outputDir}/${coreZFileName}"
- def coreZFile = file(coreZFilePath)
- println("...Generating ${coreZFilePath}")
-
- javaexec {
- classpath = files(["${jalviewDir}/tools/closure_compiler.jar"])
- args = [ "--js", coreFileName, "--js_output_file", coreZFileName ]
- workingDir = outputDir
- }
-
- return [ coreFile, coreZFile ]
-}
-
-def jalviewjsToJs(String name, String classlist, String jsDir, String j2sDir, String outputDir) {
- def filelist = []
- file(classlist).eachLine {
- line ->
- filelist += line
- }
- def list = fileTree(dir: j2sDir, includes: filelist)
- /*
- def list = files()
- file(classlist).eachLine {
- line ->
- list += file("${j2sDir}/${line}")
- }
- */
-
- return jalviewjsCallCore(name, list, jsDir, outputDir)
-// publish-core-template ... here?
-}
-
-task jalviewjsBuildAllCores {
- group "JalviewJS"
- description "Build the core js lib closures"
-
- dependsOn jalviewjsSitePath
- dependsOn jalviewjsTransferUnzipLib
- dependsOn jalviewjsTranspile
-
- fileTree(dir: "${jalviewDir}/${jalviewjs_classlists_dir}", include: "*.txt").each {
- file ->
- def name = file.getName() - ".txt"
-
- jalviewjsToJs(name, file.getAbsolutePath(), "${jalviewDir}/${jalviewjsTransferSiteLibDir}/${jalviewjs_js_subdir}", "${jalviewDir}/${jalviewjsTransferSiteJsDir}/${jalviewjs_j2s_subdir}", "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core")
- }
-}