JAL-3337 Tidied up j8libs in THIRDPARTYLIBS. Replaced jersey-*-1.19.jar with jersey...
[jalview.git] / build.gradle
index 16c31b3..2332643 100644 (file)
@@ -123,7 +123,7 @@ ext {
     reportRsyncCommand = true
     break
 
-    case ~/^SCRATCH(|-\w*)$/:
+    case ~/^SCRATCH(|-[-\w]*)$/:
     getdown_channel_name = CHANNEL
     getdownDir = getdown_channel_name + "/" + JAVA_VERSION
     getdown_app_base = getdown_channel_base + "/" + getdownDir
@@ -153,8 +153,10 @@ ext {
   getdownLauncher = jalviewDir + '/' + getdown_launcher
   getdownFilesDir = jalviewDir + '/' + getdown_files_dir + '/' + JAVA_VERSION + '/'
   getdownFilesInstallDir = getdownFilesDir+"/"+getdown_install_dir
+  /* compile without modules -- using classpath libraries
   modules_compileClasspath = fileTree(dir: "$jalviewDir/$j11modDir", include: ["*.jar"])
   modules_runtimeClasspath = modules_compileClasspath
+  */
   gitHash = ""
   gitBranch = ""
 }
@@ -163,6 +165,7 @@ def JAVA_INTEGER_VERSION
 def additional_compiler_args = []
 // these are getdown.txt properties defined dependent on the JAVA_VERSION
 def getdown_alt_java_min_version
+def getdown_alt_java_max_version
 // this property is assigned below and expanded to multiple lines in the getdown task
 def getdown_alt_multi_java_location
 // this property is for the Java library used in eclipse
@@ -175,6 +178,7 @@ if (JAVA_VERSION.equals("1.8")) {
   compile_source_compatibility = 1.8
   compile_target_compatibility = 1.8
   getdown_alt_java_min_version = getdown_alt_java8_min_version
+  getdown_alt_java_max_version = getdown_alt_java8_max_version
   getdown_alt_multi_java_location = getdown_alt_java8_txt_multi_java_location
   eclipse_java_runtime_name = "JavaSE-1.8"
 } else if (JAVA_VERSION.equals("11")) {
@@ -184,12 +188,15 @@ if (JAVA_VERSION.equals("1.8")) {
   compile_source_compatibility = 11
   compile_target_compatibility = 11
   getdown_alt_java_min_version = getdown_alt_java11_min_version
+  getdown_alt_java_max_version = getdown_alt_java11_max_version
   getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location
   eclipse_java_runtime_name = "JavaSE-11"
+  /* compile without modules -- using classpath libraries
   additional_compiler_args += [
   '--module-path', ext.modules_compileClasspath.asPath,
   '--add-modules', j11modules
   ]
+  */
 } else if (JAVA_VERSION.equals("12") || JAVA_VERSION.equals("13")) {
   JAVA_INTEGER_VERSION = JAVA_VERSION
   libDir = j11libDir
@@ -197,12 +204,15 @@ if (JAVA_VERSION.equals("1.8")) {
   compile_source_compatibility = JAVA_VERSION
   compile_target_compatibility = JAVA_VERSION
   getdown_alt_java_min_version = getdown_alt_java11_min_version
+  getdown_alt_java_max_version = getdown_alt_java11_max_version
   getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location
   eclipse_java_runtime_name = "JavaSE-11"
+  /* compile without modules -- using classpath libraries
   additional_compiler_args += [
   '--module-path', ext.modules_compileClasspath.asPath,
   '--add-modules', j11modules
   ]
+  */
 } else {
   throw new GradleException("JAVA_VERSION=$JAVA_VERSION not currently supported by Jalview")
 }
@@ -590,10 +600,13 @@ task convertBuildingMD(type: Exec) {
     pandoc = System.getProperty("user.home")+"/buildtools/pandoc/bin/pandoc"
   }
 
-  if (pandoc != null && file(pandoc).exists()) {
-    commandLine pandoc, '-s', '-o', buildingHTML, '--metadata', 'pagetitle="Building Jalview from Source"', '--toc', '-H', css, buildingMD
-  } else {
-    commandLine "true"
+  doFirst {
+    if (pandoc != null && file(pandoc).exists()) {
+        commandLine pandoc, '-s', '-o', buildingHTML, '--metadata', 'pagetitle="Building Jalview from Source"', '--toc', '-H', css, buildingMD
+    } else {
+        println("Cannot find pandoc. Skipping convert building.md to HTML")
+        throw new StopExecutionException()
+    }
   }
 
   ignoreExitValue true
@@ -717,7 +730,7 @@ task compileLinkCheck(type: JavaCompile) {
   outputs.file("$jalviewDir/$utilsDir/BufferedLineReader.class")
 }
 
-def helplinkscheckeroutputfile = file("$jalviewDir/$utilsDir/HelpLinksChecker.out")
+def helplinkscheckertouchfile = file("$jalviewDir/$utilsDir/HelpLinksChecker.touch")
 task linkCheck(type: JavaExec) {
   dependsOn prepare, compileLinkCheck
   classpath = files("$jalviewDir/$utilsDir")
@@ -726,14 +739,20 @@ task linkCheck(type: JavaExec) {
   def help = "$classes/$helpDir"
   args = [ "$classes/$helpDir", "-nointernet" ]
 
-  doFirst {
-    helplinkscheckeroutputfile.createNewFile()
-    standardOutput new FileOutputStream(helplinkscheckeroutputfile, false)
+  doLast {
+    helplinkscheckertouchfile.createNewFile()
   }
 
-  outputs.file(helplinkscheckeroutputfile)
+  inputs.dir("$classes/$helpDir")
+  outputs.file(helplinkscheckertouchfile)
 }
 
+// import the pubhtmlhelp target
+ant.properties.basedir = "$jalviewDir"
+ant.properties.helpBuildDir = jalviewDirAbsolutePath+"/$classes/$helpDir"
+ant.importBuild "$utilsDir/publishHelp.xml"
+
+
 task cleanPackageDir(type: Delete) {
   delete fileTree("$jalviewDir/$packageDir").include("*.jar")
 }
@@ -833,14 +852,19 @@ task getdownWebsite() {
     copy {
       from buildProperties
       rename(buildPropertiesFile, getdown_build_properties)
-      into project.ext.getdownWebsiteDir
+      into project.ext.getdownAppDir
     }
-    getdownWebsiteResourceFilenames += getdown_build_properties
+    getdownWebsiteResourceFilenames += getdown_app_dir+"/"+getdown_build_properties
 
     // go through properties looking for getdown_txt_...
     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)
+       if (getdown_alt_java_min_version.length() > 0) {
+               props.put("getdown_txt_java_min_version", getdown_alt_java_min_version)
+       }
+       if (getdown_alt_java_max_version.length() > 0) {
+               props.put("getdown_txt_java_max_version", getdown_alt_java_max_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 ->
@@ -996,7 +1020,7 @@ task getdown() {
       def fromDir = getdownWebsiteDir + (getdownWebsiteDir.endsWith("/")?"":"/")
       def toDir = getdown_rsync_dest + "/" + getdownDir + (getdownDir.endsWith("/")?"":"/")
       println "LIKELY RSYNC COMMAND:"
-      println "rsync -avh --delete '$fromDir' '$toDir'"
+      println "mkdir -p '$toDir'\nrsync -avh --delete '$fromDir' '$toDir'"
       if (RUNRSYNC == "true") {
         exec {
           commandLine "mkdir", "-p", toDir
@@ -1130,3 +1154,70 @@ clean {
   delete install4jConf
 }
 
+task sourceDist (type: Tar) {
+  
+  def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_")
+  archiveFileName = project.name + "_" + VERSION_UNDERSCORES + ".tar.gz"
+  
+  compression Compression.GZIP
+  
+  from jalviewDir
+  into project.name
+   
+  exclude (".*")
+  exclude ("**/.*")
+  exclude ("*.class")
+  exclude ("**/*.class")
+  include (eclipse_extra_jdt_prefs_file)
+  include ("AUTHORS")
+  include ("CITATION")
+  include ("FEATURETODO")
+  include ("JAVA-11-README")
+  include ("FEATURETODO")
+  include ("LICENSE")
+  include ("README")
+  include ("RELEASE")
+  include ("THIRDPARTYLIBS")
+  include ("build.gradle")
+  include ("gradle.properties")
+  include ("$sourceDir/*.java")
+  include ("$sourceDir/**/*.java")
+  include ("$sourceDir/**/*.cdr")
+  include ("$j8libDir/**/*.jar")
+  include ("$j11libDir/**/*.jar")
+  include ("$resourceDir/**/*")
+  include ("$helpDir/**/*")
+  include ("$schemaDir/**/*")
+  include ("$utilsDir/**/*")
+  include ("$docDir/**/*")
+  include ("$examplesDir/**/*")
+  include ("getdown/**/*")
+  //include ("jalview-jalopy.xml")
+  //include ("JalviewApplet.jpx")
+  //include ("JalviewX.jpx")
+  //include ("nbbuild.xml")
+  //include ("nbproject/genfiles.properties")
+  //include ("nbproject/project.properties")
+  //include ("nbproject/project.xml")
+  
+  exclude ("appletlib")
+  exclude ("**/*locales")
+  exclude ("*locales/**")
+  exclude ("utils/InstallAnywhere")
+  exclude (libDir)
+  exclude (getdown_files_dir)
+  exclude (getdown_website_dir)
+
+  // exluding these as not using jars as modules yet
+  exclude ("$j11modDir/**/*.jar")
+
+}
+
+task helppages  {
+  dependsOn copyHelp
+  dependsOn pubhtmlhelp
+  
+  inputs.dir("$classes/$helpDir")
+  outputs.file("build/distribution/help/helpTOC.html")
+}