Merge branch 'bug/JAL-3224_getdown_changed_to_unpack_tgz_resources' into task/JAL...
authorJalview Build Box <jbb@Jalviews-Mac-mini.local>
Thu, 25 Apr 2019 16:49:57 +0000 (17:49 +0100)
committerJalview Build Box <jbb@Jalviews-Mac-mini.local>
Thu, 25 Apr 2019 16:49:57 +0000 (17:49 +0100)
1  2 
build.gradle

diff --combined build.gradle
@@@ -3,8 -3,8 +3,8 @@@ import org.gradle.internal.os.Operating
  
  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 +46,7 @@@ def compile_source_compatibilit
  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 +66,7 @@@
  
  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 +116,10 @@@ sourceSets 
    }
    clover {
      java {
-         srcDirs = [ cloverInstrDir ]
-         outputDir = file("${buildDir}/${cloverClassesDir}")
+       srcDirs = [ cloverInstrDir ]
+       outputDir = file("${buildDir}/${cloverClassesDir}")
      }
-     
      resources {
        srcDirs = sourceSets.main.resources.srcDirs
      }
  
      runtimeClasspath = compileClasspath
    }
-   
    test {
      java {
        srcDirs "$jalviewDir/$testSourceDir"
        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 +167,8 @@@ dependencies 
  }
  
  configurations {
-     cloverRuntime
-     cloverRuntime.extendsFrom cloverCompile
+   cloverRuntime
+   cloverRuntime.extendsFrom cloverCompile
  }
  
  eclipse {
        }
      }
      containers 'org.eclipse.buildship.core.gradleclasspathcontainer'
-     
      minusConfigurations += removeThese
      plusConfigurations = [ ]
      file {
          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)
          }
          cp.entries.removeAll(removeTheseToo)
        }
-       
        withXml {
          def node = it.asNode()
          def srcTestAttributes
          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{
            } 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)
            }
          }
      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)
+           }
+         }
        }
      }
    }
  
  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 +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 +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 +624,7 @@@ task cleanDist 
  shadowJar {
    dependsOn makeDist
    from ("$jalviewDir/$libDistDir") {
-       include("*.jar")
+     include("*.jar")
    }
    mainClassName = shadowJarMainClass
    mergeServiceFiles()
@@@ -642,7 -646,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) {
  
      // 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"
        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 +810,7 @@@ def windowsJavaVMTg
  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"
@@@ -830,15 -834,9 +834,15 @@@ task installers(type: com.install4j.gra
    dependsOn copyInstall4jTemplate
    projectFile = file(install4jConf)
    println("Using projectFile "+projectFile)
 -  variables = [majorVersion: version.substring(2, 11), build: 001]
 +  variables = [majorVersion: version.substring(2, 11), build: 001, OSX_KEYSTORE: OSX_KEYSTORE, JSIGN_SH: JSIGN_SH]
    destination = "$jalviewDir/$install4jBuildDir/$JAVA_VERSION"
    buildSelected = true
 +
 +  if (OSX_KEYPASS) {
 +    macKeystorePassword=OSX_KEYPASS
 +    
 +  }
 +  
    inputs.dir(project.ext.getdownWebsiteDir)
    inputs.file(install4jConf)
    inputs.dir(macosJavaVMDir)