getdownDir = ""
reportRsyncCmd = false
buildDist = true
- buildProperties = buildPropertiesFile
+ buildProperties = build_properties_file
getdownLauncher = "${jalviewDir}/${getdown_lib_dir}/${getdown_launcher}"
switch (CHANNEL) {
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}/${build_properties_file}"
break
case "RELEASE":
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}/${build_properties_file}"
reportRsyncCommand = true
break
exit
} else {
packageDir = "${ARCHIVEDIR}/${packageDir}"
- buildProperties = "${ARCHIVEDIR}/${classesDir}/${buildPropertiesFile}"
+ buildProperties = "${ARCHIVEDIR}/${classesDir}/${build_properties_file}"
buildDist = false
}
reportRsyncCommand = true
exit
} else {
packageDir = "${ARCHIVEDIR}/${packageDir}"
- buildProperties = "${ARCHIVEDIR}/${classesDir}/${buildPropertiesFile}"
+ buildProperties = "${ARCHIVEDIR}/${classesDir}/${build_properties_file}"
buildDist = false
}
reportRsyncCommand = true
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}/${build_properties_file}"
reportRsyncCommand = true
break
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}/${build_properties_file}"
reportRsyncCommand = true
break
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}/${build_properties_file}"
reportRsyncCommand = true
break
case "LOCAL":
getdown_app_base = file(getdownWebsiteDir).toURI().toString()
getdown_app_dir = getdown_app_dir_alt
- buildProperties = "${jalviewDir}/${classesDir}/${buildPropertiesFile}"
+ buildProperties = "${jalviewDir}/${classesDir}/${build_properties_file}"
getdownLauncher = "${jalviewDir}/${getdown_lib_dir}/${getdown_launcher_local}"
break
task createBuildProperties(type: WriteProperties) {
dependsOn setGitVals
inputs.dir("${jalviewDir}/${sourceDir}")
- inputs.dir("${classes}")
inputs.dir("${jalviewDir}/${resourceDir}")
+ file(buildProperties).getParentFile().mkdirs()
outputFile (buildProperties)
// taking time specific comment out to allow better incremental builds
comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd HH:mm:ss")
copy {
from buildProperties
- rename(buildPropertiesFile, getdown_build_properties)
+ rename(build_properties_file, getdown_build_properties)
into project.ext.getdownAppDir
}
getdownWebsiteResourceFilenames += "${getdown_app_dir}/${getdown_build_properties}"
def jalviewjsBuildDir
def jalviewjsSiteDir
-def jalviewjsTransferSiteJSDir
+def jalviewjsTransferSiteJsDir
def jalviewjsTransferSiteLibDir
+def jalviewjsTransferSiteCoreDir
task jalviewjsSitePath {
def relativeBuildDir = file(jalviewDirAbsolutePath).toPath().relativize(buildDir.toPath())
jalviewjsBuildDir = "${relativeBuildDir}/jalviewjs"
jalviewjsSiteDir = "${jalviewjsBuildDir}/${jalviewjs_site_dir}"
- jalviewjsTransferSiteJSDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_js"
+ jalviewjsTransferSiteJsDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_js"
jalviewjsTransferSiteLibDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_lib"
+ jalviewjsTransferSiteCoreDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_core"
}
def eclipseWorkspace
if (val != null) {
if (prop == siteDirProperty) {
if (!(val.startsWith('/') || val.startsWith("file://") )) {
- val = "${jalviewDir}/${jalviewjsTransferSiteJSDir}/${val}"
+ val = "${jalviewDir}/${jalviewjsTransferSiteJsDir}/${val}"
}
setSiteDir = true
}
property(prop,val)
}
if (!setSiteDir) { // default site location, don't override specifically set property
- property(siteDirProperty,"${jalviewDir}/${jalviewjsTransferSiteJSDir}")
+ property(siteDirProperty,"${jalviewDir}/${jalviewjsTransferSiteJsDir}")
}
}
inputs.properties(j2s_props)
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
def inputFiles = fileTree(dir: "${jalviewDir}/${resourceDir}")
inputs.files inputFiles
}
+task jalviewjsSyncBuildProperties (type: Sync) {
+ dependsOn jalviewjsSitePath
+ dependsOn createBuildProperties
+ def inputFiles = [file(buildProperties)]
+ def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
+
+ from inputFiles
+ into outputDir
+ def outputFiles = []
+ rename { filename ->
+ outputFiles += "${outputDir}/${filename}"
+ null
+ }
+ preserve {
+ include "**"
+ }
+ outputs.files outputFiles
+ inputs.files inputFiles
+}
+
task jalviewjsProjectImport(type: Exec) {
dependsOn eclipseSetup
dependsOn jalviewjsEclipsePaths
}
inputs.dir("${jalviewDir}/${sourceDir}")
- outputs.dir("${jalviewDir}/${jalviewjsTransferSiteJSDir}")
- outputs.upToDateWhen( { file("${jalviewDir}/${jalviewjsTransferSiteJSDir}${jalviewjs_server_resource}").exists() } )
+ outputs.dir("${jalviewDir}/${jalviewjsTransferSiteJsDir}")
+ outputs.upToDateWhen( { file("${jalviewDir}/${jalviewjsTransferSiteJsDir}${jalviewjs_server_resource}").exists() } )
}
+// this Copy version of TransferSite will delete anything else in the target dir
task jalviewjsCopyTransferSite(type: Copy) {
dependsOn jalviewjsTranspile
- from "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
+ from "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
into "${jalviewDir}/${jalviewjsSiteDir}"
}
-// this Sync version is used by buildship to keep the website automatically up to date when a file changes
+// this Sync version of TransferSite is used by buildship to keep the website automatically up to date when a file changes
task jalviewjsSyncTransferSite(type: Sync) {
- from "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
+ from "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
include "**/*.*"
into "${jalviewDir}/${jalviewjsSiteDir}"
preserve {
jalviewjsSyncLib.mustRunAfter jalviewjsCopyTransferSite
jalviewjsSyncResources.mustRunAfter jalviewjsCopyTransferSite
jalviewjsSyncSiteResources.mustRunAfter jalviewjsCopyTransferSite
+jalviewjsSyncBuildProperties.mustRunAfter jalviewjsCopyTransferSite
jalviewjsSyncLib.mustRunAfter jalviewjsSyncTransferSite
jalviewjsSyncResources.mustRunAfter jalviewjsSyncTransferSite
jalviewjsSyncSiteResources.mustRunAfter jalviewjsSyncTransferSite
+jalviewjsSyncBuildProperties.mustRunAfter jalviewjsSyncTransferSite
task jalviewjsPrepareSite {
group "JalviewJS"
dependsOn jalviewjsSyncLib
dependsOn jalviewjsSyncResources
dependsOn jalviewjsSyncSiteResources
+ dependsOn jalviewjsSyncBuildProperties
}
task jalviewjsBuildSite {
task cleanJalviewjsSite {
doFirst {
- delete "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
+ delete "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
delete "${jalviewDir}/${jalviewjsSiteDir}"
}
}
task jalviewjsIDE_CopyTransferSite(type: Copy) {
- from "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
+ from "${jalviewDir}/${jalviewjsTransferSiteJsDir}"
into "${jalviewDir}/${jalviewjsSiteDir}"
}
dependsOn jalviewjsSyncTransferSite
dependsOn jalviewjsPrepareSite
}
+
+
+
+
+
+
+
+
+// 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")
+ }
+}