JAL-3224 JAL-3196 still trying to specify projectFile property for install4j (still!)
[jalview.git] / build.gradle
index 45a757e..8b77be8 100644 (file)
@@ -28,13 +28,15 @@ mainClassName = launcherClass
 def cloverInstrDir = file("$buildDir/$cloverSourcesInstrDir")
 def classes = "$jalviewDir/$classesDir"
 if (clover.equals("true")) {
-  clover = true
+  use_clover = true
   classes = "$buildDir/$cloverClassesDir"
 } else {
-  clover = false
+  use_clover = false
   classes = "$jalviewDir/$classesDir"
 }
 
+// configure classpath/args for j8/j11 compilation
+
 def libDir
 def libDistDir
 def compile_source_compatibility
@@ -54,7 +56,7 @@ if (JAVA_VERSION.equals("1.8")) {
   compile_target_compatibility = 11
   getdown_alt_java_min_version = getdown_alt_java11_min_version
   additional_compiler_args += [
-    '--module-path', sourceSets.modules.compileClasspath.asPath,
+    '--module-path', file("$jalviewDir/$j11modDir").getAbsolutePath(),
     '--add-modules', j11modules
   ]
 } else {
@@ -81,12 +83,6 @@ sourceSets {
 
     runtimeClasspath = compileClasspath
   }
-
-  modules {
-    compileClasspath = fileTree(dir: "$jalviewDir/$j11modDir", include: ["*.jar"])
-
-    runtimeClasspath = compileClasspath
-  }
   
   clover {
     java {
@@ -115,10 +111,11 @@ sourceSets {
     }
 
     compileClasspath = files( sourceSets.test.java.outputDir ) 
-    if (clover) {
+    if (use_clover) {
       compileClasspath += sourceSets.clover.compileClasspath
     } else {
       compileClasspath += sourceSets.main.compileClasspath
+      compileClasspath += files(sourceSets.main.java.outputDir)
     }
     compileClasspath += files( sourceSets.main.resources.srcDirs)
     compileClasspath += fileTree(dir: "$jalviewDir/$utilsDir", include: ["**/*.jar"])
@@ -130,7 +127,7 @@ sourceSets {
 
 // clover bits
 dependencies {
-  if (clover) {
+  if (use_clover) {
     cloverCompile 'org.openclover:clover:4.3.1'
     testCompile 'org.openclover:clover:4.3.1'
   }
@@ -194,9 +191,12 @@ compileJava {
 }
 
 compileTestJava {
-  if (clover) {
+
+  if (use_clover) {
     dependsOn compileCloverJava
     classpath += configurations.cloverRuntime
+  } else {
+    classpath += sourceSets.main.runtimeClasspath
   }
   doFirst {
     sourceCompatibility = compile_source_compatibility
@@ -321,10 +321,11 @@ task prepare {
 //testReportDirName = "test-reports" // note that test workingDir will be $jalviewDir
 test {
   dependsOn prepare
-  if (clover) {
+  dependsOn compileJava
+  if (use_clover) {
     dependsOn cloverInstr
   }
-  print("Running tests " + (clover?"WITH":"WITHOUT") + " clover [clover="+clover+"]\n") 
+  print("Running tests " + (use_clover?"WITH":"WITHOUT") + " clover [clover="+use_clover+"]\n") 
   
   useTestNG() {
     includeGroups testngGroups
@@ -639,9 +640,11 @@ install4j {
 def install4jConf
 def macosJavaVMDir
 def windowsJavaVMDir
+def install4jDir = "$jalviewDir/$install4jResourceDir"
+def install4jConfFile = "jalview-installers-java"+JAVA_VERSION+".install4j"
+install4jConf = "$install4jDir/$install4jConfFile"
+  
 task copyInstall4jTemplate(type: Copy) {
-  def install4jDir = "$jalviewDir/$install4jResourceDir"
-  def install4jConfFile = "jalview-installers-java"+JAVA_VERSION+".install4j"
   macosJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/macos-jre"+JAVA_VERSION+"/java_vm"
   windowsJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/windows-jre"+JAVA_VERSION+"/java_vm"
   from (install4jDir) {
@@ -651,7 +654,6 @@ task copyInstall4jTemplate(type: Copy) {
     filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['VERSION': JALVIEW_VERSION, 'MACOS_JAVA_VM_DIR': macosJavaVMDir, 'WINDOWS_JAVA_VM_DIR': windowsJavaVMDir])
   }
   into install4jDir
-  install4jConf = "$install4jDir/$install4jConfFile"
   inputs.files("$install4jDir/$install4jTemplate")
   outputs.files(install4jConf)
 }
@@ -659,7 +661,8 @@ task copyInstall4jTemplate(type: Copy) {
 task installers(type: com.install4j.gradle.Install4jTask) {
   dependsOn getdown
   dependsOn copyInstall4jTemplate
-  projectFile = install4jConf
+  projectFile = file(install4jConf)
+  println("Using projectFile "+projectFile)
   variables = [majorVersion: version.substring(2, 11), build: 001]
   destination = "$jalviewDir/$install4jBuildDir"
   buildSelected = true