X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=84d5f73d6e70f24c288a91242f421dbd60808e7c;hb=66340a2a1b9937fc8837c184e4998cbebe0e649d;hp=3e5901b086af7bbd782affca1d0b201591f7237d;hpb=0ba805a2292f3f36785cf220cfb301fd091eebba;p=jalview.git diff --git a/build.gradle b/build.gradle index 3e5901b..84d5f73 100644 --- a/build.gradle +++ b/build.gradle @@ -55,7 +55,7 @@ ext { // TODO: consider allowing this expression to be overridden by -P arg getdownWebsiteDir = jalviewDir + '/' + getdown_website_dir + '/' + JAVA_VERSION getdownAppDir = getdownWebsiteDir + '/' + getdown_app_dir - getdownJ11libDir = getdownWebsiteDir + '/' + getdown_j11lib_dir + //getdownJ11libDir = getdownWebsiteDir + '/' + getdown_j11lib_dir getdownResourceDir = getdownWebsiteDir + '/' + getdown_resource_dir getdownLauncher = jalviewDir + '/' + getdown_launcher getdownFilesDir = jalviewDir + '/' + getdown_files_dir + '/' + JAVA_VERSION + '/' @@ -72,14 +72,18 @@ def additional_compiler_args = [] 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 +// this property is for the Java library used in eclipse +def eclipse_java_runtime_name if (JAVA_VERSION.equals("1.8")) { JAVA_INTEGER_VERSION = "8" + //libDir = j8libDir libDir = j11libDir libDistDir = j8libDir compile_source_compatibility = 1.8 compile_target_compatibility = 1.8 getdown_alt_java_min_version = getdown_alt_java8_min_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")) { JAVA_INTEGER_VERSION = "11" libDir = j11libDir @@ -88,6 +92,20 @@ if (JAVA_VERSION.equals("1.8")) { compile_target_compatibility = 11 getdown_alt_java_min_version = getdown_alt_java11_min_version getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location + eclipse_java_runtime_name = "JavaSE-11" + 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 + libDistDir = j11libDir + compile_source_compatibility = JAVA_VERSION + compile_target_compatibility = JAVA_VERSION + getdown_alt_java_min_version = getdown_alt_java11_min_version + getdown_alt_multi_java_location = getdown_alt_java11_txt_multi_java_location + eclipse_java_runtime_name = "JavaSE-11" additional_compiler_args += [ '--module-path', ext.modules_compileClasspath.asPath, '--add-modules', j11modules @@ -106,7 +124,6 @@ sourceSets { resources { srcDirs "$jalviewDir/$resourceDir" - srcDirs "$jalviewDir/$libDistDir" } jar.destinationDir = file("$jalviewDir/$packageDir") @@ -151,8 +168,7 @@ sourceSets { } else { compileClasspath += files(sourceSets.main.java.outputDir) } - //compileClasspath += sourceSets.main.compileClasspath - //compileClasspath += files( sourceSets.main.resources.srcDirs) + compileClasspath += fileTree(dir: "$jalviewDir/$utilsDir", include: ["**/*.jar"]) compileClasspath += fileTree(dir: "$jalviewDir/$libDir", include: ["*.jar"]) @@ -211,15 +227,18 @@ eclipse { } cp.entries.removeAll(removeTheseToo) + print ("CP="+cp.inspect()) + cp.entries += new Output("bin/main") cp.entries += new Library(fileReference(helpParentDir)) cp.entries += new Library(fileReference(resourceDir)) HashMap addedLibPath = new HashMap<>(); - def allPaths = sourceSets.test.compileClasspath + sourceSets.main.compileClasspath - sourceSets.main.compileClasspath.each{ - //if ((it.isDirectory() || ! it.exists()) && ! (it.equals(sourceSets.main.java.outputDir))) { - //no longer want to add outputDir as eclipse is using its own output dir in bin/main + + // changing from sourcesets.main.classpath to specific Java version lib + //sourceSets.main.compileClasspath.each{ + fileTree("$jalviewDir/$libDistDir").include("**/*.jar").include("*.jar").each { + //don't want to add outputDir as eclipse is using its own output dir in bin/main if (it.isDirectory() || ! it.exists()) { // don't add dirs to classpath return @@ -237,7 +256,9 @@ eclipse { } } - sourceSets.test.compileClasspath.each{ + // changing from sourcesets.main.classpath to specific Java version lib + //sourceSets.test.compileClasspath.each{ + fileTree(dir: "$jalviewDir/$utilsDir", include: ["**/*.jar"]).each { //if ((it.isDirectory() || ! it.exists()) && ! (it.equals(sourceSets.main.java.outputDir))) { //no longer want to add outputDir as eclipse is using its own output dir in bin/main if (it.isDirectory() || ! it.exists()) { @@ -298,9 +319,9 @@ eclipse { jdt { // for the IDE, use java 11 compatibility - sourceCompatibility = 11 - targetCompatibility = 11 - javaRuntimeName = "JavaSE-11" + sourceCompatibility = compile_source_compatibility + targetCompatibility = compile_target_compatibility + javaRuntimeName = eclipse_java_runtime_name file { withProperties { props -> @@ -411,48 +432,46 @@ cleanTest { delete cloverInstrDir } +// format is a string like date.format("dd MMMM yyyy") def getDate(format) { def date = new Date() - //return date.format("dd MMMM yyyy") return date.format(format) } -task setGitHash(type: Exec) { - workingDir = jalviewDir - commandLine "git", "rev-parse", "--short", "HEAD" - standardOutput = new ByteArrayOutputStream() - project.ext.gitHash = { - return standardOutput.toString().trim() +task setGitVals { + def hashStdOut = new ByteArrayOutputStream() + exec { + commandLine "git", "rev-parse", "--short", "HEAD" + standardOutput = hashStdOut + ignoreExitValue true } -} -task setGitBranch(type: Exec) { - workingDir = jalviewDir - commandLine "git", "rev-parse", "--abbrev-ref", "HEAD" - standardOutput = new ByteArrayOutputStream() - project.ext.gitBranch = { - return standardOutput.toString().trim() + def branchStdOut = new ByteArrayOutputStream() + exec { + commandLine "git", "rev-parse", "--abbrev-ref", "HEAD" + standardOutput = branchStdOut + ignoreExitValue true } -} -task setGitVals { - dependsOn setGitHash - dependsOn setGitBranch + project.ext.gitHash = hashStdOut.toString().trim() + project.ext.gitBranch = branchStdOut.toString().trim() + + outputs.upToDateWhen { false } } task createBuildProperties(type: WriteProperties) { dependsOn setGitVals inputs.dir("$jalviewDir/$sourceDir") + inputs.dir("$classes") inputs.dir("$jalviewDir/$resourceDir") outputFile "$classes/$buildPropertiesFile" // taking time specific comment out to allow better incremental builds - //comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd HH:mm:ss") - comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd") - property "BUILD_DATE", getDate("dd MMMM yyyy") + comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd HH:mm:ss") + //comment "--Jalview Build Details--\n"+getDate("yyyy-MM-dd") + property "BUILD_DATE", getDate("HH:mm:ss dd MMMM yyyy") property "VERSION", JALVIEW_VERSION property "INSTALLATION", INSTALLATION+" git-commit:"+project.ext.gitHash+" ["+project.ext.gitBranch+"]" outputs.file(outputFile) - outputs.dir("$classes") } def buildingHTML = "$jalviewDir/$docDir/building.html" @@ -465,14 +484,25 @@ task convertBuildingMD(type: Exec) { def buildingMD = "$jalviewDir/$docDir/building.md" def css = "$jalviewDir/$docDir/github.css" - def pandoc = pandoc_exec - if (! file(pandoc).exists() && hostname.equals("jv-bamboo")) { + def pandoc = null + pandoc_exec.split(",").each { + if (file(it.trim()).exists()) { + pandoc = it.trim() + return true + } + } + + def hostname = "hostname".execute().text.trim() + if ((pandoc == null || ! file(pandoc).exists()) && hostname.equals("jv-bamboo")) { pandoc = System.getProperty("user.home")+"/buildtools/pandoc/bin/pandoc" } - if (file(pandoc).exists()) { + if (pandoc != null && file(pandoc).exists()) { commandLine pandoc, '-s', '-o', buildingHTML, '--metadata', 'pagetitle="Building Jalview from Source"', '--toc', '-H', css, buildingMD + } else { + commandLine "true" } + ignoreExitValue true inputs.file(buildingMD) @@ -777,7 +807,7 @@ task getdownWebsite() { // getdown-launcher.jar should not be in main application class path so the main application can move it when updated. Listed as a resource so it gets updated. //getdownTextString += "class = " + file(getdownLauncher).getName() + "\n" - getdownTextString += "resource = " + file(getdownLauncher).getName() + "\n" + getdownTextString += "resource = " + getdown_launcher_new + "\n" getdownTextString += "class = " + mainClass + "\n" def getdown_txt = file(project.ext.getdownWebsiteDir + "/getdown.txt") @@ -790,6 +820,12 @@ task getdownWebsite() { copy { from getdownLauncher + into project.ext.getdownWebsiteDir + rename(file(getdownLauncher).getName(), getdown_launcher_new) + } + + copy { + from getdownLauncher into project.ext.getdownFilesDir }