Merge branch 'alpha/origin_2022_JAL-3066_Jalview_212_slivka-integration' into spike...
[jalview.git] / build.gradle
index ee7be0f..46f2226 100644 (file)
@@ -12,6 +12,7 @@ import java.security.MessageDigest
 import groovy.transform.ExternalizeMethods
 import groovy.util.XmlParser
 import groovy.xml.XmlUtil
+
 import com.vladsch.flexmark.util.ast.Node
 import com.vladsch.flexmark.html.HtmlRenderer
 import com.vladsch.flexmark.parser.Parser
@@ -57,6 +58,7 @@ def string(Object o) {
   return o == null ? "" : o.toString()
 }
 
+
 def overrideProperties(String propsFileName, boolean output = false) {
   if (propsFileName == null) {
     return
@@ -163,7 +165,6 @@ ext {
 
   // datestamp
   buildDate = new Date().format("yyyyMMdd")
-
   // essentials
   bareSourceDir = string(source_dir)
   sourceDir = string("${jalviewDir}/${bareSourceDir}")
@@ -184,6 +185,7 @@ ext {
   //cloverTestClassesDir = cloverClassesDir
   cloverDb = string("${cloverBuildDir}/clover.db")
 
+
   testSourceDir = useClover ? cloverTestInstrDir : testDir
   testClassesDir = useClover ? cloverTestClassesDir : "${jalviewDir}/${test_output_dir}"
 
@@ -419,16 +421,16 @@ ext {
     '--add-modules', j11modules
     ]
      */
-  } else if (JAVA_VERSION.equals("12") || JAVA_VERSION.equals("13")) {
-    JAVA_INTEGER_VERSION = JAVA_VERSION
-    libDir = j11libDir
-    libDistDir = j11libDir
-    compile_source_compatibility = JAVA_VERSION
-    compile_target_compatibility = JAVA_VERSION
+  } else if (JAVA_VERSION.equals("17")) {
+    JAVA_INTEGER_VERSION = string("17")
+    libDir = j17libDir
+    libDistDir = j17libDir
+    compile_source_compatibility = 17
+    compile_target_compatibility = 17
     getdownAltJavaMinVersion = string(findProperty("getdown_alt_java11_min_version"))
     getdownAltJavaMaxVersion = string(findProperty("getdown_alt_java11_max_version"))
     getdownAltMultiJavaLocation = string(findProperty("getdown_alt_java11_txt_multi_java_location"))
-    eclipseJavaRuntimeName = string("JavaSE-11")
+    eclipseJavaRuntimeName = string("JavaSE-17")
     /* compile without modules -- using classpath libraries
     additional_compiler_args += [
     '--module-path', modules_compileClasspath.asPath,
@@ -466,6 +468,7 @@ ext {
   helpBuildDir = string("${resourceBuildDir}/help_build")
   docBuildDir = string("${resourceBuildDir}/doc_build")
 
+
   if (buildProperties == null) {
     buildProperties = string("${resourcesBuildDir}/${build_properties_file}")
   }
@@ -514,6 +517,7 @@ sourceSets {
       srcDirs = [ resourcesBuildDir, docBuildDir, helpBuildDir ]
     }
 
+
     compileClasspath = files(sourceSets.main.java.outputDir)
     compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
 
@@ -1157,6 +1161,7 @@ task convertMdFiles {
     def htmlFilePath = mdFile.getPath().replaceAll(/\..*?$/, ".html")
     htmlFiles.add(file(htmlFilePath))
   }
+
   outputs.files(htmlFiles)
 }
 
@@ -1263,7 +1268,6 @@ task createBuildProperties(type: WriteProperties) {
   outputs.file(outputFile)
 }
 
-
 task buildIndices(type: JavaExec) {
   dependsOn copyHelp
   classpath = sourceSets.main.compileClasspath
@@ -1289,6 +1293,7 @@ task buildResources {
   dependsOn createBuildProperties
 }
 
+
 task prepare {
   dependsOn buildResources
   dependsOn copyDocs
@@ -1301,8 +1306,6 @@ task prepare {
 compileJava.dependsOn prepare
 run.dependsOn compileJava
 //run.dependsOn prepare
-
-
 //testReportDirName = "test-reports" // note that test workingDir will be $jalviewDir
 test {
   dependsOn prepare
@@ -1345,6 +1348,8 @@ test {
 }
 
 
+
+
 task compileLinkCheck(type: JavaCompile) {
   options.fork = true
   classpath = files("${jalviewDir}/${utils_dir}")
@@ -1380,7 +1385,6 @@ task linkCheck(type: JavaExec) {
   outputs.file(helpLinksCheckerOutFile)
 }
 
-
 // import the pubhtmlhelp target
 ant.properties.basedir = "${jalviewDir}"
 ant.properties.helpBuildDir = "${helpBuildDir}/${help_dir}"
@@ -1409,6 +1413,7 @@ jar {
   def outputDir = "${jalviewDir}/${package_dir}"
   destinationDirectory = file(outputDir)
   archiveFileName = rootProject.name+".jar"
+  duplicatesStrategy "EXCLUDE"
 
   exclude "cache*/**"
   exclude "*.jar"
@@ -1460,7 +1465,6 @@ task cleanDist {
   dependsOn clean
 }
 
-
 shadowJar {
   group = "distribution"
   description = "Create a single jar file with all dependency libraries merged. Can be run with java -jar"
@@ -1474,6 +1478,7 @@ shadowJar {
     attributes "Implementation-Version": JALVIEW_VERSION,
     "Application-Name": install4jApplicationName
   }
+  duplicatesStrategy "INCLUDE"
   mainClassName = shadow_jar_main_class
   mergeServiceFiles()
   classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
@@ -1849,6 +1854,7 @@ task copyInstall4jTemplate {
       }
     }
 
+
     // write install4j file
     install4jConfFile.text = XmlUtil.serialize(install4jConfigXml)
   }
@@ -1935,7 +1941,6 @@ task installers(type: com.install4j.gradle.Install4jTask) {
     'WINDOWS_ICONS_FILE': install4jWindowsIconsFile,
     'PNG_ICON_FILE': install4jPngIconFile,
     'BACKGROUND': install4jBackground,
-
   ]
 
   //println("INSTALL4J VARIABLES:")
@@ -1989,7 +1994,6 @@ task sourceDist(type: Tar) {
 
   dependsOn createBuildProperties
   dependsOn convertMdFiles
-
   def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_")
   def outputFileName = "${project.name}_${VERSION_UNDERSCORES}.tar.gz"
   archiveFileName = outputFileName
@@ -2075,7 +2079,6 @@ task sourceDist(type: Tar) {
 //    exclude(EXCLUDE_FILES)
 //    exclude(PROCESS_FILES)
 //  }
-
   from(file(buildProperties).getParent()) {
     include(file(buildProperties).getName())
     rename(file(buildProperties).getName(), "build_properties")
@@ -2083,7 +2086,6 @@ task sourceDist(type: Tar) {
       line.replaceAll("^INSTALLATION=.*\$","INSTALLATION=Source Release"+" git-commit\\\\:"+gitHash+" ["+gitBranch+"]")
     })
   }
-
 }
 
 
@@ -2128,8 +2130,6 @@ task jalviewjsEnableAltFileProperty(type: WriteProperties) {
     property(jalviewjs_j2s_alt_file_property_config, jalviewjs_j2s_alt_file_property)
   }
 }
-
-
 task jalviewjsSetEclipseWorkspace {
   def propKey = "jalviewjs_eclipse_workspace"
   def propVal = null
@@ -2393,6 +2393,8 @@ task jalviewjsSyncAllLibs (type: Sync) {
   preserve {
     include "**"
   }
+  // should this be exclude really ?
+  duplicatesStrategy "INCLUDE"
   outputs.files outputFiles
   inputs.files inputFiles
 }
@@ -2640,7 +2642,7 @@ def jalviewjsCallCore(String name, FileCollection list, String prefixFile, Strin
           new org.apache.tools.ant.util.TeeOutputStream(
             logErrFOS,
             stderr),
-          errorOutput)
+          System.err)
     } else {
       standardOutput = new org.apache.tools.ant.util.TeeOutputStream(
         logOutFOS,