X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=2682208c8024b9a8297da70cfda5fa2e1a835cf2;hb=4cacd38cf10da2dedda3926d593eabfd5af69646;hp=d45afa4885cbde7d40a6e04b091c5380b23a28b9;hpb=fbed1940c06bc4602d783aa8150efd32611e6f07;p=jalview.git diff --git a/build.gradle b/build.gradle index d45afa4..2682208 100644 --- a/build.gradle +++ b/build.gradle @@ -22,17 +22,21 @@ plugins { // local build environment properties def localProps = "${jalviewDir}/local.properties" if (file(localProps).exists()) { - def p = new Properties() - def localPropsFIS = new FileInputStream(localProps) - p.load(localPropsFIS) - localPropsFIS.close() - p.each { - key, val -> - def over = getProperty(key) != null - setProperty(key, val) - if (over) { - println("Overriding property '${key}' with local.properties value '${val}'") - } + try { + def p = new Properties() + def localPropsFIS = new FileInputStream(localProps) + p.load(localPropsFIS) + localPropsFIS.close() + p.each { + key, val -> + def over = getProperty(key) != null + setProperty(key, val) + if (over) { + println("Overriding property '${key}' with local.properties value '${val}'") + } + } + } catch (Exception e) { + System.out.println("Exception reading local.properties") } } @@ -441,6 +445,9 @@ eclipse { } } // jdt + + synchronizationTasks "eclipseSynchronizationTask" + autoBuildTasks "eclipseAutoBuildTask" } @@ -1267,12 +1274,14 @@ task helppages { 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 @@ -1451,7 +1460,8 @@ y jalviewjsEclipseCopyDropins.finalizedBy jalviewjsCleanEclipse */ -task jalviewjsUnzipFiles { +def jalviewjsTransferSiteUnzipDir +task jalviewjsTransferUnzipLib { dependsOn jalviewjsSitePath def zipFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_libjs_dir}", include: "*.zip") @@ -1461,17 +1471,21 @@ task jalviewjsUnzipFiles { 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) { + group "JalviewJS" + description "Create the .j2s file from the j2s.* properties" + dependsOn jalviewjsSitePath + outputFile ("${jalviewDir}/${jalviewjs_j2s_settings}") def j2s_props = project.properties.findAll { it.key.startsWith("j2s.") }.sort { it.key } def siteDirProperty = "j2s.site.directory" @@ -1480,14 +1494,14 @@ 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) @@ -1500,7 +1514,27 @@ task jalviewjsEclipseSetup { 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}" @@ -1519,7 +1553,7 @@ task jalviewjsCopyResources (type: Sync) { 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}" @@ -1620,27 +1654,40 @@ DEBUG: ${eclipseDebug} } 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}" } -jalviewjsUnzipFiles.mustRunAfter jalviewjsCopyTransferSite -jalviewjsCopyResources.mustRunAfter jalviewjsCopyTransferSite -jalviewjsCopySiteResources.mustRunAfter jalviewjsCopyTransferSite +// 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 "**" + } +} + +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 { @@ -1652,7 +1699,7 @@ task jalviewjsBuildSite { task cleanJalviewjsSite { doFirst { - delete "${jalviewDir}/${jalviewjsTransferSiteDir}" + delete "${jalviewDir}/${jalviewjsTransferSiteJSDir}" delete "${jalviewDir}/${jalviewjsSiteDir}" } } @@ -1678,9 +1725,10 @@ task jalviewjsSiteTar(type: Tar) { 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() @@ -1739,33 +1787,44 @@ task jalviewjs { } -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 +}