X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=f5149da1c312d6cbff6dfdfc0e19bbb005130ec2;hb=0a0cce2e9671916ffa893bff2b3e3187def66049;hp=e143b8085ce1ae02269a3a5ff04ca01d69db400b;hpb=19cb2eab37ddf738c73a8e5c6eed4e1091e610bf;p=jalview.git diff --git a/build.gradle b/build.gradle index e143b80..f5149da 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,7 @@ 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 @@ -106,7 +111,6 @@ sourceSets { resources { srcDirs "$jalviewDir/$resourceDir" - srcDirs "$jalviewDir/$libDistDir" } jar.destinationDir = file("$jalviewDir/$packageDir") @@ -151,8 +155,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 +214,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 +243,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 +306,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,51 +419,89 @@ 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" +task deleteBuildingHTML(type: Delete) { + delete buildingHTML +} + +task convertBuildingMD(type: Exec) { + dependsOn deleteBuildingHTML + def buildingMD = "$jalviewDir/$docDir/building.md" + def css = "$jalviewDir/$docDir/github.css" + + 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 (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) + inputs.file(css) + outputs.file(buildingHTML) +} +clean { + delete buildingHTML } task syncDocs(type: Sync) { + dependsOn convertBuildingMD def syncDir = "$classes/$docDir" from fileTree("$jalviewDir/$docDir") into syncDir