}
}
} catch (Exception e) {
+ System.out.println("Exception reading local.properties")
}
}
}
} // jdt
+
+ synchronizationTasks "eclipseSynchronizationTask"
+ autoBuildTasks "eclipseAutoBuildTask"
}
def jalviewjsBuildDir
def jalviewjsSiteDir
-def jalviewjsTransferSiteDir
+def jalviewjsTransferSiteJSDir
+def jalviewjsTransferSiteLibDir
task jalviewjsSitePath {
def relativeBuildDir = file(jalviewDirAbsolutePath).toPath().relativize(buildDir.toPath())
jalviewjsBuildDir = "${relativeBuildDir}/jalviewjs"
jalviewjsSiteDir = "${jalviewjsBuildDir}/${jalviewjs_site_dir}"
- jalviewjsTransferSiteDir = "${jalviewjsBuildDir}/tmp/site"
+ jalviewjsTransferSiteJSDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_js"
+ jalviewjsTransferSiteLibDir = "${jalviewjsBuildDir}/tmp/${jalviewjs_site_dir}_lib"
}
def eclipseWorkspace
jalviewjsEclipseCopyDropins.finalizedBy jalviewjsCleanEclipse
*/
-task jalviewjsUnzipFiles {
+def jalviewjsTransferSiteUnzipDir
+task jalviewjsTransferUnzipLib {
dependsOn jalviewjsSitePath
def zipFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_libjs_dir}", include: "*.zip")
zipFiles.each { file_zip ->
copy {
from zipTree(file_zip)
- into "${jalviewDir}/${jalviewjsSiteDir}"
+ into "${jalviewDir}/${jalviewjsTransferSiteLibDir}"
}
}
}
inputs.files zipFiles
- outputs.dir "${jalviewDir}/${jalviewjsSiteDir}"
+ outputs.dir "${jalviewDir}/${jalviewjsTransferSiteLibDir}"
}
task jalviewjsCreateJ2sSettings(type: WriteProperties) {
if (val != null) {
if (prop == siteDirProperty) {
if (!(val.startsWith('/') || val.startsWith("file://") )) {
- val = "${jalviewDir}/${jalviewjsTransferSiteDir}/${val}"
+ val = "${jalviewDir}/${jalviewjsTransferSiteJSDir}/${val}"
}
setSiteDir = true
}
property(prop,val)
}
if (!setSiteDir) { // default site location, don't override specifically set property
- property(siteDirProperty,"${jalviewDir}/${jalviewjsTransferSiteDir}")
+ property(siteDirProperty,"${jalviewDir}/${jalviewjsTransferSiteJSDir}")
}
}
inputs.properties(j2s_props)
dependsOn jalviewjsCreateJ2sSettings
}
-task jalviewjsCopyResources (type: Sync) {
+task jalviewjsSyncLib (type: Sync) {
+ dependsOn jalviewjsSitePath
+ dependsOn jalviewjsTransferUnzipLib
+ def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteLibDir}")
+ 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}")
def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
inputs.files inputFiles
}
-task jalviewjsCopySiteResources (type: Sync) {
+task jalviewjsSyncSiteResources (type: Sync) {
dependsOn jalviewjsSitePath
def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_site_resource_dir}")
def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
}
inputs.dir("${jalviewDir}/${sourceDir}")
- outputs.dir("${jalviewDir}/${jalviewjsTransferSiteDir}")
- outputs.upToDateWhen( { file("${jalviewDir}/${jalviewjsTransferSiteDir}${jalviewjs_server_resource}").exists() } )
+ outputs.dir("${jalviewDir}/${jalviewjsTransferSiteJSDir}")
+ outputs.upToDateWhen( { file("${jalviewDir}/${jalviewjsTransferSiteJSDir}${jalviewjs_server_resource}").exists() } )
}
task jalviewjsCopyTransferSite(type: Copy) {
dependsOn jalviewjsTranspile
- from "${jalviewDir}/${jalviewjsTransferSiteDir}"
+ 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
+task jalviewjsSyncTransferSite(type: Sync) {
+ from "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
+ include "**/*.*"
into "${jalviewDir}/${jalviewjsSiteDir}"
+ preserve {
+ include "**"
+ }
}
-jalviewjsUnzipFiles.mustRunAfter jalviewjsCopyTransferSite
-jalviewjsCopyResources.mustRunAfter jalviewjsCopyTransferSite
-jalviewjsCopySiteResources.mustRunAfter jalviewjsCopyTransferSite
+jalviewjsSyncLib.mustRunAfter jalviewjsCopyTransferSite
+jalviewjsSyncResources.mustRunAfter jalviewjsCopyTransferSite
+jalviewjsSyncSiteResources.mustRunAfter jalviewjsCopyTransferSite
+
+jalviewjsSyncLib.mustRunAfter jalviewjsSyncTransferSite
+jalviewjsSyncResources.mustRunAfter jalviewjsSyncTransferSite
+jalviewjsSyncSiteResources.mustRunAfter jalviewjsSyncTransferSite
task jalviewjsPrepareSite {
group "JalviewJS"
description "Prepares the website folder including unzipping files and copying resources"
- dependsOn jalviewjsSitePath
- dependsOn jalviewjsUnzipFiles
- dependsOn jalviewjsCopyResources
- dependsOn jalviewjsCopySiteResources
+ dependsOn jalviewjsSyncLib
+ dependsOn jalviewjsSyncResources
+ dependsOn jalviewjsSyncSiteResources
}
task jalviewjsBuildSite {
task cleanJalviewjsSite {
doFirst {
- delete "${jalviewDir}/${jalviewjsTransferSiteDir}"
+ delete "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
delete "${jalviewDir}/${jalviewjsSiteDir}"
}
}
task jalviewjsServer {
group "JalviewJS"
- description "Starts a webserver on localhost to test the website"
+ def filename = "jalviewjsTest.html"
+ description "Starts a webserver on localhost to test the website. See ${filename} to access local site on most recently used port."
dependsOn jalviewjsSitePath
- def htmlFile = "${jalviewDirAbsolutePath}/jalviewjsTest.html"
+ def htmlFile = "${jalviewDirAbsolutePath}/${filename}"
doLast {
SimpleHttpFileServerFactory factory = new SimpleHttpFileServerFactory()
}
-task jalviewjsIDECopyTransferSite(type: Copy) {
- from "${jalviewDir}/${jalviewjsTransferSiteDir}"
+task jalviewjsIDE_CopyTransferSite(type: Copy) {
+ from "${jalviewDir}/${jalviewjsTransferSiteJSDir}"
into "${jalviewDir}/${jalviewjsSiteDir}"
}
-task jalviewjsIDEj2s {
- group "JalviewJS in Eclipse"
+task jalviewjsIDE_j2s {
+ group "00 JalviewJS in Eclipse"
description "Creates the .j2s file"
dependsOn jalviewjsCreateJ2sSettings
}
-task jalviewjsIDEBuildSite {
- group "JalviewJS in Eclipse"
- description "Copies the Eclipse transpiled site and unzips supporting zipfiles"
- dependsOn jalviewjsIDECopyTransferSite
+task jalviewjsIDE_AssembleSite {
+ group "00 JalviewJS in Eclipse"
+ description "Assembles the Eclipse transpiled site and unzips supporting zipfiles"
+ dependsOn jalviewjsIDE_CopyTransferSite
dependsOn jalviewjsPrepareSite
}
-task jalviewjsIDESiteClean {
- group "JalviewJS in Eclipse"
+task jalviewjsIDE_SiteClean {
+ group "00 JalviewJS in Eclipse"
description "Deletes the Eclipse transpiled site"
dependsOn cleanJalviewjsSite
}
-task jalviewjsIDEServer {
- group "JalviewJS in Eclipse"
+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_j2s
+}
+
+// buildship runs this at build time
+task eclipseAutoBuildTask {
+ dependsOn jalviewjsSyncTransferSite
+ dependsOn jalviewjsPrepareSite
+}