JAL-3210 Fixed local.properties setting. Some tidying.
[jalview.git] / build.gradle
index 815c6d2..b7f2162 100644 (file)
@@ -19,6 +19,23 @@ plugins {
   id 'com.install4j.gradle' version '7.0.9'
 }
 
+// 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}'")
+      }
+  }
+}
+
 repositories {
   jcenter()
   mavenCentral()
@@ -33,15 +50,15 @@ dependencies {
 }
 
 mainClassName = launcherClass
-def cloverInstrDir = file("$buildDir/$cloverSourcesInstrDir")
-def classes = "$jalviewDir/$classesDir"
+def cloverInstrDir = file("${buildDir}/${cloverSourcesInstrDir}")
+def classes = "${jalviewDir}/${classesDir}"
 
 if (clover.equals("true")) {
   use_clover = true
-  classes = "$buildDir/$cloverClassesDir"
+  classes = "${buildDir}/${cloverClassesDir}"
 } else {
   use_clover = false
-  classes = "$jalviewDir/$classesDir"
+  classes = "${jalviewDir}/${classesDir}"
 }
 
 // configure classpath/args for j8/j11 compilation
@@ -53,22 +70,6 @@ def compile_source_compatibility
 def compile_target_compatibility
 
 ext {
-  // 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 = project.properties.get(key) != null
-      project.properties.put(key, val)
-      if (over) {
-        println("Overriding property '${key}' with local.properties value")
-      }
-    }
-  }
   getdownWebsiteDir = "${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}"
   getdownDir = ""
   reportRsyncCmd = false
@@ -1278,6 +1279,9 @@ task jalviewjsSetEclipseWorkspace {
   def propVal = null
   if (project.hasProperty(propKey)) {
     propVal = project.getProperty(propKey)
+    if (propVal.startsWith("~/")) {
+      propVal = System.getProperty("user.home") + propVal.substring(1)
+    }
   }
   def propsFileName = "${jalviewjsBuildDir}/${jalviewjs_eclipse_workspace_location_file}"
   def eclipseWsDir = propVal
@@ -1324,7 +1328,7 @@ task jalviewjsEclipsePaths {
   def eclipseProduct
 
   def eclipseRoot = jalviewjs_eclipse_root
-  if (eclipseRoot.startsWith("~")) {
+  if (eclipseRoot.startsWith("~/")) {
     eclipseRoot = System.getProperty("user.home") + eclipseRoot.substring(1)
   }
   if (OperatingSystem.current().isMacOsX()) {
@@ -1463,13 +1467,13 @@ task jalviewjsUnzipFiles {
     zipFiles.each { file_zip -> 
       copy {
         from zipTree(file_zip)
-        into jalviewjsSiteDir
+        into "${jalviewDir}/${jalviewjsSiteDir}"
       }
     }
   }
 
   inputs.files zipFiles
-  outputs.dir jalviewjsSiteDir
+  outputs.dir "${jalviewDir}/${jalviewjsSiteDir}"
 }
 
 task jalviewjsCreateJ2sSettings(type: WriteProperties) {
@@ -1504,8 +1508,8 @@ task jalviewjsEclipseSetup {
 
 task jalviewjsCopyResources (type: Sync) {
   dependsOn jalviewjsSitePath
-  def inputFiles = fileTree(dir: resourceDir)
-  def outputDir = "${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
+  def inputFiles = fileTree(dir: "${jalviewDir}/${resourceDir}")
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
 
   from inputFiles
   into outputDir
@@ -1524,7 +1528,7 @@ task jalviewjsCopyResources (type: Sync) {
 task jalviewjsCopySiteResources (type: Sync) {
   dependsOn jalviewjsSitePath
   def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_site_resource_dir}")
-  def outputDir = jalviewjsSiteDir
+  def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
 
   from inputFiles
   into outputDir
@@ -1551,6 +1555,7 @@ task jalviewjsProjectImport(type: Exec) {
   if (eclipseDebug) {
     args += "-debug"
   }
+  // can we use args += ["--launcher.appendVmargs", "-vmargs", "-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=utils/jalviewjs/eclipse/dropins"] here? (instead of copying plugins to eclipse dropins dir)
 
   doFirst {
     println("IMPORT ECLIPSE_DEBUG=${eclipseDebug}")
@@ -1571,6 +1576,7 @@ task jalviewjsTranspile(type: Exec) {
   if (eclipseDebug) {
     args += "-debug"
   }
+  // can we use args += ["--launcher.appendVmargs", "-vmargs", "-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=swingjs"] here? (instead of copying plugins to eclipse dropins dir)
 
   def stdout
   def stderr
@@ -1626,17 +1632,17 @@ DEBUG: ${eclipseDebug}
     println("TRANSPILE ECLIPSE_DEBUG=${eclipseDebug}")
   }
 
-  inputs.dir(sourceDir)
-  outputs.dir("${eclipse_bin_dir}/main")
-  outputs.dir(jalviewjsTransferSiteDir)
-  outputs.upToDateWhen { file("${jalviewjsTransferSiteDir}${jalviewjs_server_resource}").exists() }
+  inputs.dir("${jalviewDir}/${sourceDir}")
+  outputs.dir("${jalviewDir}/${eclipse_bin_dir}/main")
+  outputs.dir("${jalviewDir}/${jalviewjsTransferSiteDir}")
+  outputs.upToDateWhen { file("${jalviewDir}/${jalviewjsTransferSiteDir}${jalviewjs_server_resource}").exists() }
 
 }
 
 task jalviewjsCopyTransferSite(type: Copy) {
   dependsOn jalviewjsTranspile
-  from jalviewjsTransferSiteDir
-  into jalviewjsSiteDir
+  from "${jalviewDir}/${jalviewjsTransferSiteDir}"
+  into "${jalviewDir}/${jalviewjsSiteDir}"
 }
 
 jalviewjsUnzipFiles.mustRunAfter jalviewjsCopyTransferSite
@@ -1720,6 +1726,7 @@ task jalviewjsServer {
   }
 
   outputs.file(htmlFile)
+  outputs.upToDateWhen({false})
 }
 
 task cleanJalviewjsAll {