X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=00e3e40f2bd67d5f89b34fd7b818003d820a0bd2;hb=8973a845700a2d89da1e836a8f4a691ecde3d2a0;hp=6fa6632b6518cf6fb902c07f6ce56c93a58771de;hpb=07d5f4bac47bf1a337c6ca32bed9b9400bdb4943;p=jalview.git diff --git a/build.gradle b/build.gradle index 6fa6632..00e3e40 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,6 @@ +/* Convention for properties. Read from gradle.properties, use lower_case_underlines for property names. + * For properties set within build.gradle, use camelCaseNoSpace. + */ import org.apache.tools.ant.filters.ReplaceTokens import org.gradle.internal.os.OperatingSystem import org.gradle.plugins.ide.eclipse.model.Output @@ -91,7 +94,7 @@ ext { } //// // Set JALVIEW_VERSION if it is not already set - if (findProperty(JALVIEW_VERSION)==null || "".equals(JALVIEW_VERSION)) { + if (findProperty("JALVIEW_VERSION")==null || "".equals(JALVIEW_VERSION)) { JALVIEW_VERSION = releaseProps.get("jalview.version") } @@ -136,7 +139,7 @@ ext { cloverBuildDir = "${buildDir}/clover" cloverInstrDir = file("${cloverBuildDir}/clover-instr") cloverClassesDir = file("${cloverBuildDir}/clover-classes") - cloverReportDir = file("${cloverBuildDir}/clover-report") + cloverReportDir = file("${buildDir}/reports/clover") cloverTestInstrDir = file("${cloverBuildDir}/clover-test-instr") cloverTestClassesDir = file("${cloverBuildDir}/clover-test-classes") //cloverTestClassesDir = cloverClassesDir @@ -193,10 +196,10 @@ ext { getdownChannelName = CHANNEL.toLowerCase()+"/${JALVIEW_VERSION}" getdownDir = string("${getdownChannelName}/${JAVA_VERSION}") getdownAppBase = string("${getdown_channel_base}/${getdownDir}") - if (!file("${ARCHIVEDIR}/${packageDir}").exists()) { + if (!file("${ARCHIVEDIR}/${package_dir}").exists()) { throw new GradleException("Must provide an ARCHIVEDIR value to produce an archive distribution") } else { - packageDir = string("${ARCHIVEDIR}/${packageDir}") + package_dir = string("${ARCHIVEDIR}/${package_dir}") buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}") buildDist = false } @@ -208,10 +211,10 @@ ext { getdownChannelName = string("archive/${JALVIEW_VERSION}") getdownDir = string("${getdownChannelName}/${JAVA_VERSION}") getdownAppBase = file(getdownWebsiteDir).toURI().toString() - if (!file("${ARCHIVEDIR}/${packageDir}").exists()) { + if (!file("${ARCHIVEDIR}/${package_dir}").exists()) { throw new GradleException("Must provide an ARCHIVEDIR value to produce an archive distribution") } else { - packageDir = string("${ARCHIVEDIR}/${packageDir}") + package_dir = string("${ARCHIVEDIR}/${package_dir}") buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}") buildDist = false } @@ -341,6 +344,7 @@ ext { //libDir = j8libDir libDir = j11libDir libDistDir = j8libDir + digestonlyDir = j8digestonlyDir compile_source_compatibility = 1.8 compile_target_compatibility = 1.8 // these are getdown.txt properties defined dependent on the JAVA_VERSION @@ -354,6 +358,7 @@ ext { JAVA_INTEGER_VERSION = string("11") libDir = j11libDir libDistDir = j11libDir + digestonlyDir = j11digestonlyDir compile_source_compatibility = 11 compile_target_compatibility = 11 getdownAltJavaMinVersion = string(findProperty("getdown_alt_java11_min_version")) @@ -454,7 +459,7 @@ sourceSets { srcDirs += helpParentDir } - jar.destinationDir = file("${jalviewDir}/${packageDir}") + jar.destinationDir = file("${jalviewDir}/${package_dir}") compileClasspath = files(sourceSets.main.java.outputDir) compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"]) @@ -642,6 +647,7 @@ eclipse { task cleanClover { doFirst { delete cloverBuildDir + delete cloverReportDir } } @@ -738,6 +744,13 @@ task cloverConsoleReport(type: JavaExec) { classpath = sourceSets.clover.runtimeClasspath main = "com.atlassian.clover.reporters.console.ConsoleReporter" + if (cloverreport_mem.length() > 0) { + maxHeapSize = cloverreport_mem + } + if (cloverreport_jvmargs.length() > 0) { + jvmArgs Arrays.asList(cloverreport_jvmargs.split(" ")) + } + def argsList = [ "--alwaysreport", "--initstring", @@ -757,13 +770,20 @@ task cloverHtmlReport(type: JavaExec) { file(cloverDb).exists() } - def cloverHtmlDir = "${cloverReportDir}/clover" + def cloverHtmlDir = cloverReportDir inputs.dir cloverClassesDir outputs.dir cloverHtmlDir classpath = sourceSets.clover.runtimeClasspath main = "com.atlassian.clover.reporters.html.HtmlReporter" + if (cloverreport_mem.length() > 0) { + maxHeapSize = cloverreport_mem + } + if (cloverreport_jvmargs.length() > 0) { + jvmArgs Arrays.asList(cloverreport_jvmargs.split(" ")) + } + def argsList = [ "--alwaysreport", "--initstring", @@ -772,6 +792,10 @@ task cloverHtmlReport(type: JavaExec) { cloverHtmlDir ] + if (cloverreport_html_options.length() > 0) { + argsList += cloverreport_html_options.split(" ") + } + args argsList.toArray() } @@ -791,6 +815,13 @@ task cloverXmlReport(type: JavaExec) { classpath = sourceSets.clover.runtimeClasspath main = "com.atlassian.clover.reporters.xml.XMLReporter" + if (cloverreport_mem.length() > 0) { + maxHeapSize = cloverreport_mem + } + if (cloverreport_jvmargs.length() > 0) { + jvmArgs Arrays.asList(cloverreport_jvmargs.split(" ")) + } + def argsList = [ "--alwaysreport", "--initstring", @@ -799,6 +830,10 @@ task cloverXmlReport(type: JavaExec) { cloverXmlFile ] + if (cloverreport_xml_options.length() > 0) { + argsList += cloverreport_xml_options.split(" ") + } + args argsList.toArray() } @@ -1057,7 +1092,7 @@ test { doFirst { if (useClover) { - print("Running tests " + (useClover?"WITH":"WITHOUT") + " clover [clover="+useClover+"]\n") + println("Running tests " + (useClover?"WITH":"WITHOUT") + " clover") } } } @@ -1106,13 +1141,12 @@ task linkCheck(type: JavaExec) { args = [ "${classesDir}/${help_dir}", "-nointernet" ] def outFOS = new FileOutputStream(helpLinksCheckerOutFile, false) // false == don't append - def errFOS = outFOS standardOutput = new org.apache.tools.ant.util.TeeOutputStream( outFOS, - standardOutput) + System.out) errorOutput = new org.apache.tools.ant.util.TeeOutputStream( outFOS, - errorOutput) + System.err) inputs.dir("${classesDir}/${help_dir}") outputs.file(helpLinksCheckerOutFile) @@ -1126,7 +1160,7 @@ ant.importBuild "${utils_dir}/publishHelp.xml" task cleanPackageDir(type: Delete) { doFirst { - delete fileTree(dir: "${jalviewDir}/${packageDir}", include: "*.jar") + delete fileTree(dir: "${jalviewDir}/${package_dir}", include: "*.jar") } } @@ -1142,7 +1176,7 @@ jar { "Codebase": application_codebase } - destinationDir = file("${jalviewDir}/${packageDir}") + destinationDir = file("${jalviewDir}/${package_dir}") archiveName = rootProject.name+".jar" exclude "cache*/**" @@ -1152,20 +1186,20 @@ jar { exclude "**/*.jar.*" inputs.dir(classesDir) - outputs.file("${jalviewDir}/${packageDir}/${archiveName}") + outputs.file("${jalviewDir}/${package_dir}/${archiveName}") } task copyJars(type: Copy) { from fileTree(dir: classesDir, include: "**/*.jar").files - into "${jalviewDir}/${packageDir}" + into "${jalviewDir}/${package_dir}" } // doing a Sync instead of Copy as Copy doesn't deal with "outputs" very well task syncJars(type: Sync) { from fileTree(dir: "${jalviewDir}/${libDistDir}", include: "**/*.jar").files - into "${jalviewDir}/${packageDir}" + into "${jalviewDir}/${package_dir}" preserve { include jar.archiveName } @@ -1181,7 +1215,7 @@ task makeDist { dependsOn cleanPackageDir dependsOn syncJars dependsOn jar - outputs.dir("${jalviewDir}/${packageDir}") + outputs.dir("${jalviewDir}/${package_dir}") } @@ -1294,7 +1328,7 @@ task getdownWebsite() { } def codeFiles = [] - fileTree(file(packageDir)).each{ f -> + fileTree(file(package_dir)).each{ f -> if (f.isDirectory()) { def files = fileTree(dir: f, include: ["*"]).getFiles() codeFiles += files @@ -1312,6 +1346,16 @@ task getdownWebsite() { } } + fileTree(dir: digestonlyDir, include: ["*"]).getFiles().sort().each{f -> + def name = f.getName() + def line = "digestonly = ${getdownAppDistDir}/${name}\n" + getdownTextString += line + copy { + from f.getPath() + into getdownAppDir + } + } + // NOT USING MODULES YET, EVERYTHING SHOULD BE IN dist /* if (JAVA_VERSION.equals("11")) { @@ -1331,7 +1375,11 @@ 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 = ${getdown_launcher_new}\n" - getdownTextString += "class = ${mainClass}\n" + getdownTextString += "class = ${main_class}\n" + /* NOT setting these properties so that getdownappbase and getdowndistdir will default to release version + * getdownTextString += "jvmarg = -Dgetdowndistdir=${getdownAppDistDir}\n" + * getdownTextString += "jvmarg = -Dgetdownappbase=${getdownAppBase}\n" + */ def getdown_txt = file("${getdownWebsiteDir}/getdown.txt") getdown_txt.write(getdownTextString) @@ -1358,7 +1406,7 @@ task getdownWebsite() { copy { from getdown_txt from getdownLauncher - from "${getdownWebsiteDir}/${getdown_build_properties}" + from "${getdownAppDir}/${getdown_build_properties}" if (file(getdownLauncher).getName() != getdown_launcher) { rename(file(getdownLauncher).getName(), getdown_launcher) } @@ -1389,7 +1437,7 @@ task getdownWebsite() { } if (buildDist) { - inputs.dir("${jalviewDir}/${packageDir}") + inputs.dir("${jalviewDir}/${package_dir}") } outputs.dir(getdownWebsiteDir) outputs.dir(getdownFilesDir) @@ -1655,6 +1703,7 @@ task installers(type: com.install4j.gradle.Install4jTask) { task sourceDist(type: Tar) { + dependsOn createBuildProperties def VERSION_UNDERSCORES = JALVIEW_VERSION.replaceAll("\\.", "_") def outputFileName = "${project.name}_${VERSION_UNDERSCORES}.tar.gz" @@ -1746,6 +1795,15 @@ task sourceDist(type: Tar) { // exclude(EXCLUDE_FILES) // exclude(PROCESS_FILES) // } + + from(file(buildProperties).getParent()) { + include(file(buildProperties).getName()) + rename(file(buildProperties).getName(), "build_properties") + filter({ line -> + line.replaceAll("^INSTALLATION=.*\$","INSTALLATION=Source Release"+" git-commit\\\\:"+gitHash+" ["+gitBranch+"]") + }) + } + }