if (IN_ECLIPSE) {
jalviewjsTransferSiteJsDir = string(jalviewjsSiteDir)
} else {
- jalviewjsTransferSiteJsDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}/js")
+ jalviewjsTransferSiteJsDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}/sitejs")
}
jalviewjsTransferSiteLibDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}/lib")
jalviewjsTransferSiteSwingJsDir = string("${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}/swingjs")
task jalviewjsSetEclipseWorkspace {
def propKey = "jalviewjs_eclipse_workspace"
def propVal = null
+ // see if jalviewjs_eclipse_workspace is set by a property
if (project.hasProperty(propKey)) {
propVal = project.getProperty(propKey)
if (propVal.startsWith("~/")) {
propVal = System.getProperty("user.home") + propVal.substring(1)
}
}
+ // else look for an existing build/jalviewjs/eclipse_workspace_location file
def propsFileName = "${jalviewDirAbsolutePath}/${jalviewjsBuildDir}/${jalviewjs_eclipse_workspace_location_file}"
def propsFile = file(propsFileName)
def eclipseWsDir = propVal
}
//inputs.property(propKey, eclipseWsDir) // eclipseWsDir only gets set once this task runs, so will be out-of-date
- outputs.file(propsFileName)
- outputs.upToDateWhen { eclipseWorkspace.exists() && propsFile.exists() }
+ //outputs.file(propsFileName) // don't want this to be deleted because of falsely "stale" task
+ outputs.upToDateWhen { eclipseWorkspace.exists() && (propsFile.exists() || !writeProps) }
}
if (! IN_ECLIPSE) {
inputs.properties(jalviewjsJ2sProps)
- outputs.file(jalviewjsJ2sAltSettingsFileName)
}
}
inputs.file("${jalviewjsJ2sAltSettingsFileName}")
}
- outputs.upToDateWhen({
+ outputs.upToDateWhen( {
if (IN_ECLIPSE) {
return true
}
def projDirExists = file(projdir).exists()
return projDirExists
- })
+ } )
}
-
+// jalviewjs_eclipse_workspace_location_file
task jalviewjsTranspile(type: Exec) {
dependsOn jalviewjsProjectImport
task jalviewjsTransferSiteMergeSiteJsDir (type: Copy) {
dependsOn jalviewjsTranspile
-
def inputDir = file("${jalviewDir}/${jalviewjsTransferSiteJsDir}")
def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
into outputDir
inputs.files jalviewjsTranspile
}
-task jalviewjsTransferSiteMergeSwingJsDir (type: Copy) {
- dependsOn jalviewjsTransferUnzipSwingJs
-
- mustRunAfter jalviewjsTransferSiteMergeSiteJsDir
+task jalviewjsTransferSiteMergeLibDir (type: Copy) {
+ dependsOn jalviewjsTransferUnzipLib
def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
- // This takes the outputs of jalviewjsTransferUnzipSwingJs
- from jalviewjsTransferUnzipSwingJs
+ // This takes the outputs of jalviewjsTransferUnzipLib
+ from jalviewjsTransferUnzipLib
into outputDir
includeEmptyDirs = false
exclude "**/*.html"
exclude "**/*.htm"
+ // don't overwrite files in the destination
+ // Note, this closure gets run at run stage not config stage
eachFile {
if (it.getRelativePath().getFile(file(outputDir)).exists()) {
it.exclude()
}
}
- // should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
duplicatesStrategy "INCLUDE"
}
-task jalviewjsTransferSiteMergeLibDir (type: Copy) {
- dependsOn jalviewjsTransferUnzipLib
-
- mustRunAfter jalviewjsTransferSiteMergeSiteJsDir
- mustRunAfter jalviewjsTransferSiteMergeSwingJsDir
+task jalviewjsTransferSiteMergeSwingJsDir (type: Copy) {
+ dependsOn jalviewjsTransferUnzipSwingJs
def outputDir = "${jalviewDir}/${jalviewjsTransferSiteMergeDir}"
- // This takes the outputs of jalviewjsTransferUnzipLib
- from jalviewjsTransferUnzipLib
+ // This takes the outputs of jalviewjsTransferUnzipSwingJs
+ from jalviewjsTransferUnzipSwingJs
into outputDir
includeEmptyDirs = false
exclude "**/*.html"
exclude "**/*.htm"
- // don't overwrite files in the destination
- eachFile {
- if (it.getRelativePath().getFile(file(outputDir)).exists()) {
- it.exclude()
- }
- }
-
+ // DO overwrite files in the destination
+
// should this be exclude really ? No, swingjs dir should be transferred last (and overwrite)
duplicatesStrategy "INCLUDE"
}
+// we run after SiteJs and exclude overwriting files
+jalviewjsTransferSiteMergeLibDir.mustRunAfter jalviewjsTransferSiteMergeSiteJsDir
+jalviewjsTransferSiteMergeLibDir.mustRunAfter jalviewjsTransferSiteMergeSwingJsDir
+// we run this last, overwriting files from sitejs and lib, to ensure a consistent SwingJS
+jalviewjsTransferSiteMergeSwingJsDir.mustRunAfter jalviewjsTransferSiteMergeSiteJsDir
task jalviewjsTransferSiteMergeDirs {
dependsOn jalviewjsTransferSiteMergeLibDir