JAL-3224 JAL-3225 Fixed help image mangling, moved help to help/help and added this...
[jalview.git] / build.gradle
index ed3ace3..f41e2b3 100644 (file)
@@ -3,8 +3,8 @@ import org.gradle.internal.os.OperatingSystem
 
 buildscript {
   dependencies {
-        classpath 'org.openclover:clover:4.3.1'
-        classpath 'org.apache.commons:commons-compress:1.18'
+    classpath 'org.openclover:clover:4.3.1'
+    classpath 'org.apache.commons:commons-compress:1.18'
   }
 }
 
@@ -46,7 +46,7 @@ def compile_source_compatibility
 def compile_target_compatibility
 
 ext {
-  // where the getdown channel will be built. 
+  // where the getdown channel will be built.
   // TODO: consider allowing this expression to  be overrriden by -P arg
   getdownWebsiteDir = jalviewDir + '/' + getdown_website_dir + '/' + JAVA_VERSION + '/'
   getdownAppDir = getdownWebsiteDir + '/' + getdown_app_dir
@@ -66,7 +66,7 @@ ext {
 
 def JAVA_INTEGER_VERSION
 def additional_compiler_args = []
-// these are getdown.txt properties defined dependent on the JAVA_VERSION 
+// these are getdown.txt properties defined dependent on the JAVA_VERSION
 def getdown_alt_java_min_version
 // this property is assigned below and expanded to multiple lines in the getdown task
 def getdown_alt_multi_java_location
@@ -116,10 +116,10 @@ sourceSets {
   }
   clover {
     java {
-        srcDirs = [ cloverInstrDir ]
-        outputDir = file("${buildDir}/${cloverClassesDir}")
+      srcDirs = [ cloverInstrDir ]
+      outputDir = file("${buildDir}/${cloverClassesDir}")
     }
-    
+
     resources {
       srcDirs = sourceSets.main.resources.srcDirs
     }
@@ -131,7 +131,7 @@ sourceSets {
 
     runtimeClasspath = compileClasspath
   }
-  
+
   test {
     java {
       srcDirs "$jalviewDir/$testSourceDir"
@@ -142,7 +142,7 @@ sourceSets {
       srcDirs = sourceSets.main.resources.srcDirs
     }
 
-    compileClasspath = files( sourceSets.test.java.outputDir ) 
+    compileClasspath = files( sourceSets.test.java.outputDir )
 
     if (use_clover) {
       compileClasspath += sourceSets.clover.compileClasspath
@@ -167,8 +167,8 @@ dependencies {
 }
 
 configurations {
-    cloverRuntime
-    cloverRuntime.extendsFrom cloverCompile
+  cloverRuntime
+  cloverRuntime.extendsFrom cloverCompile
 }
 
 eclipse {
@@ -191,7 +191,7 @@ eclipse {
       }
     }
     containers 'org.eclipse.buildship.core.gradleclasspathcontainer'
-    
+
     minusConfigurations += removeThese
     plusConfigurations = [ ]
     file {
@@ -201,7 +201,7 @@ eclipse {
         HashMap<String, Boolean> addedSrcPath = new HashMap<>();
         cp.entries.each { entry ->
           if (entry.kind == 'src') {
-            if (addedSrcPath.getAt(entry.path) || !(entry.path == "src" || entry.path == "test" || entry.path == "resources")) {
+            if (addedSrcPath.getAt(entry.path) || !(entry.path == "src" || entry.path == "test")) {
               removeTheseToo += entry
             } else {
               addedSrcPath.putAt(entry.path, true)
@@ -210,7 +210,7 @@ eclipse {
         }
         cp.entries.removeAll(removeTheseToo)
       }
-      
+
       withXml {
         def node = it.asNode()
         def srcTestAttributes
@@ -230,8 +230,10 @@ eclipse {
         if (addTestAttribute) {
           srcTestAttributes.append(new Node(null, "attribute", [name:"test", value:"true"]))
         }
-        
+
         node.appendNode('classpathentry', [kind:"output", path:"bin/main"])
+        node.appendNode('classpathentry', [kind:"lib", path:helpParentDir])
+        node.appendNode('classpathentry', [kind:"lib", path:resourceDir])
         HashMap<String, Boolean> addedLibPath = new HashMap<>();
         def allPaths = sourceSets.test.compileClasspath + sourceSets.main.compileClasspath
         sourceSets.main.compileClasspath.each{
@@ -271,8 +273,8 @@ eclipse {
           } else {
             //println("Adding entry "+itPath)
             node.appendNode('classpathentry', [kind:"lib", path:itPath])
-              .appendNode('attributes')
-                .appendNode('attribute', [name:"test", value:"true"])
+            .appendNode('attributes')
+            .appendNode('attribute', [name:"test", value:"true"])
             addedLibPath.put(itPath, true)
           }
         }
@@ -290,14 +292,14 @@ eclipse {
     file {
       withProperties { props ->
         def jalview_prefs = new Properties()
-               def ins = new FileInputStream(eclipse_extra_jdt_prefs_file)
-               jalview_prefs.load(ins)
-               ins.close()
-               jalview_prefs.forEach { t, v ->
-                       if (props.getAt(t) == null) {
-                               props.putAt(t, v)
-                       }
-               }
+        def ins = new FileInputStream(eclipse_extra_jdt_prefs_file)
+        jalview_prefs.load(ins)
+        ins.close()
+        jalview_prefs.forEach { t, v ->
+          if (props.getAt(t) == null) {
+            props.putAt(t, v)
+          }
+        }
       }
     }
   }
@@ -306,42 +308,42 @@ eclipse {
 
 task cloverInstr() {
   // only instrument source, we build test classes as normal
-    inputs.files files (sourceSets.main.allJava) // , fileTree(dir:"$jalviewDir/$testSourceDir", include: ["**/*.java"]))
-    outputs.dir cloverInstrDir
-
-    doFirst {
-        delete cloverInstrDir
-        def argsList = ["--initstring", "${buildDir}/clover/clover.db",
-                        "-d", "${buildDir}/${cloverSourcesInstrDir}"]
-        argsList.addAll(inputs.files.files.collect({ file ->
-            file.absolutePath
-        }))
-        String[] args = argsList.toArray()
-        println("About to instrument "+args.length +" files")
-        com.atlassian.clover.CloverInstr.mainImpl(args)
-    }
+  inputs.files files (sourceSets.main.allJava) // , fileTree(dir:"$jalviewDir/$testSourceDir", include: ["**/*.java"]))
+  outputs.dir cloverInstrDir
+
+  doFirst {
+    delete cloverInstrDir
+    def argsList = ["--initstring", "${buildDir}/clover/clover.db",
+      "-d", "${buildDir}/${cloverSourcesInstrDir}"]
+    argsList.addAll(inputs.files.files.collect({ file ->
+      file.absolutePath
+    }))
+    String[] args = argsList.toArray()
+    println("About to instrument "+args.length +" files")
+    com.atlassian.clover.CloverInstr.mainImpl(args)
+  }
 }
 
+
 task cloverReport {
-       group = "Verification"
-       description = "Createst the Clover report"
-    inputs.dir "${buildDir}/clover"
-    outputs.dir "${reportsDir}/clover"
-    onlyIf {
-        file("${buildDir}/clover/clover.db").exists()
-    }
-    doFirst {
-        def argsList = ["--initstring", "${buildDir}/clover/clover.db",
-                        "-o", "${reportsDir}/clover"]
-        String[] args = argsList.toArray()
-        com.atlassian.clover.reporters.html.HtmlReporter.runReport(args)
-        
-        // and generate ${reportsDir}/clover/clover.xml
-        args = ["--initstring", "${buildDir}/clover/clover.db",
-                        "-o", "${reportsDir}/clover/clover.xml"].toArray()
-        com.atlassian.clover.reporters.xml.XMLReporter.runReport(args)
-    }
+  group = "Verification"
+  description = "Createst the Clover report"
+  inputs.dir "${buildDir}/clover"
+  outputs.dir "${reportsDir}/clover"
+  onlyIf {
+    file("${buildDir}/clover/clover.db").exists()
+  }
+  doFirst {
+    def argsList = ["--initstring", "${buildDir}/clover/clover.db",
+      "-o", "${reportsDir}/clover"]
+    String[] args = argsList.toArray()
+    com.atlassian.clover.reporters.html.HtmlReporter.runReport(args)
+
+    // and generate ${reportsDir}/clover/clover.xml
+    args = ["--initstring", "${buildDir}/clover/clover.db",
+      "-o", "${reportsDir}/clover/clover.xml"].toArray()
+    com.atlassian.clover.reporters.xml.XMLReporter.runReport(args)
+  }
 }
 
 // end clover bits
@@ -442,21 +444,23 @@ task syncDocs(type: Sync) {
 }
 
 def helpFile = "$classes/$helpDir/help.jhm"
-task syncHelp(type: Sync) {
-  inputs.files("$jalviewDir/$helpDir")
-  outputs.files(helpFile)
-
-  def syncDir = "$classes/$helpDir"
-  from fileTree("$jalviewDir/$helpDir")
-  into syncDir
-}
 
 task copyHelp(type: Copy) {
-  def inputDir = "$jalviewDir/$helpDir"
+  def inputDir = "$jalviewDir/$helpParentDir/$helpDir"
   def outputDir = "$classes/$helpDir"
-  from inputDir
+  from(inputDir) {
+    exclude '**/*.gif'
+    exclude '**/*.jpg'
+    exclude '**/*.png'
+    filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['Version-Rel': JALVIEW_VERSION])
+  }
+  from(inputDir) {
+    include '**/*.gif'
+    include '**/*.jpg'
+    include '**/*.png'
+  }
   into outputDir
-  filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['Version-Rel': "USING_FILTER"])
+
   inputs.dir(inputDir)
   outputs.files(helpFile)
   outputs.dir(outputDir)
@@ -493,14 +497,14 @@ test {
     dependsOn cloverInstr
   }
 
-  print("Running tests " + (use_clover?"WITH":"WITHOUT") + " clover [clover="+use_clover+"]\n") 
-  
+  print("Running tests " + (use_clover?"WITH":"WITHOUT") + " clover [clover="+use_clover+"]\n")
+
   useTestNG() {
     includeGroups testngGroups
     preserveOrder true
     useDefaultListeners=true
   }
-  
+
   workingDir = jalviewDir
   //systemProperties 'clover.jar' System.properties.clover.jar
   sourceCompatibility = compile_source_compatibility
@@ -620,7 +624,7 @@ task cleanDist {
 shadowJar {
   dependsOn makeDist
   from ("$jalviewDir/$libDistDir") {
-      include("*.jar")
+    include("*.jar")
   }
   mainClassName = shadowJarMainClass
   mergeServiceFiles()
@@ -642,7 +646,7 @@ task getdownWebsite() {
     def props = project.properties.sort { it.key }
     props.put("getdown_txt_java_min_version", getdown_alt_java_min_version)
     props.put("getdown_txt_multi_java_location", getdown_alt_multi_java_location)
-    
+
     props.put("getdown_txt_appbase", getdown_app_base)
     props.each{ prop, val ->
       if (prop.startsWith("getdown_txt_") && val != null) {
@@ -705,18 +709,18 @@ task getdownWebsite() {
 
     // NOT USING MODULES YET, EVERYTHING SHOULD BE IN dist
     /*
-    if (JAVA_VERSION.equals("11")) {
-      def j11libFiles = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"]).getFiles()
-      j11libFiles.sort().each{f ->
-        def line = "code = " + getdown_j11lib_dir + '/' + f.getName() + "\n"
-        getdownTextString += line
-        copy {
-          from f.getPath()
-          into project.ext.getdownJ11libDir
-        }
-      }
-    }
-    */
+     if (JAVA_VERSION.equals("11")) {
+     def j11libFiles = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"]).getFiles()
+     j11libFiles.sort().each{f ->
+     def line = "code = " + getdown_j11lib_dir + '/' + f.getName() + "\n"
+     getdownTextString += line
+     copy {
+     from f.getPath()
+     into project.ext.getdownJ11libDir
+     }
+     }
+     }
+     */
 
     getdownTextString += "code = " + file(getdownLauncher).getName() + "\n"
     getdownTextString += "class = " + mainClass + "\n"
@@ -750,7 +754,7 @@ task getdownWebsite() {
       from jalviewDir + '/' + project.getProperty('getdown_txt_ui.progress_image')
       from jalviewDir + '/' + project.getProperty('getdown_txt_ui.icon')
       from jalviewDir + '/' + project.getProperty('getdown_txt_ui.mac_dock_icon')
-      into project.ext.getdownFilesDir + '/' + getdown_resource_dir 
+      into project.ext.getdownFilesDir + '/' + getdown_resource_dir
     }
   }
 
@@ -806,7 +810,7 @@ def windowsJavaVMTgz
 def install4jDir = "$jalviewDir/$install4jResourceDir"
 def install4jConfFile = "jalview-installers-java"+JAVA_VERSION+".install4j"
 install4jConf = "$install4jDir/$install4jConfFile"
-  
+
 task copyInstall4jTemplate(type: Copy) {
   macosJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/getdown/macos-jre"+JAVA_VERSION+"/jre"
   macosJavaVMTgz = System.env.HOME+"/buildtools/jre/openjdk-java_vm/install4j/tgz/macos-jre"+JAVA_VERSION+".tar.gz"