X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=97d7ecfb1c82c6f18b4872e0dd752c295083537a;hb=e34c136813102a83b827b6ee0be888857246c9ca;hp=4e50b7722fd10415da6932d2f009b9f5cb245135;hpb=6650b1dc05cddec8301d52017db0dca93b7a6c95;p=jalview.git diff --git a/build.gradle b/build.gradle index 4e50b77..97d7ecf 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,6 @@ +/* Convention for properties. Read from this file, 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.internal.generator.PropertiesPersistableConfigurationObject @@ -16,9 +19,6 @@ buildscript { mavenCentral() mavenLocal() } - dependencies { - classpath 'org.openclover:clover:4.4.1' - } } @@ -139,21 +139,25 @@ ext { sourceDir = string("${jalviewDir}/${bareSourceDir}") resourceDir = string("${jalviewDir}/${resource_dir}") bareTestSourceDir = string(test_source_dir) - testSourceDir = string("${jalviewDir}/${bareTestSourceDir}") + testDir = string("${jalviewDir}/${bareTestSourceDir}") - // clover - cloverInstrDir = file("${buildDir}/${cloverSourcesInstrDir}") - cloverDb = string("${buildDir}/clover/clover.db") classesDir = string("${jalviewDir}/${classes_dir}") - if (clover.equals("true")) { - use_clover = true - classesDir = string("${buildDir}/${cloverClassesDir}") - } else { - use_clover = false - classesDir = string("${jalviewDir}/${classes_dir}") - } - classes = classesDir + // clover + useClover = clover.equals("true") + cloverBuildDir = "${buildDir}/clover" + cloverInstrDir = file("${cloverBuildDir}/clover-instr") + cloverClassesDir = file("${cloverBuildDir}/clover-classes") + cloverReportDir = file("${buildDir}/reports") + cloverTestInstrDir = file("${cloverBuildDir}/clover-test-instr") + cloverTestClassesDir = file("${cloverBuildDir}/clover-test-classes") + //cloverTestClassesDir = cloverClassesDir + cloverDb = string("${cloverBuildDir}/clover.db") + + resourceClassesDir = useClover ? cloverClassesDir : classesDir + + testSourceDir = useClover ? cloverTestInstrDir : testDir + testClassesDir = useClover ? cloverTestClassesDir : "${jalviewDir}/${test_output_dir}" getdownWebsiteDir = string("${jalviewDir}/${getdown_website_dir}/${JAVA_VERSION}") buildDist = true @@ -182,8 +186,8 @@ ext { getdownAppBase = string("${bamboo_channelbase}/${bamboo_planKey}${bamboo_getdown_channel_suffix}/${JAVA_VERSION}") jvlChannelName += "_${getdownChannelName}" // automatically add the test group Not-bamboo for exclusion - if ("".equals(testngExcludedGroups)) { - testngExcludedGroups = "Not-bamboo" + if ("".equals(testng_excluded_groups)) { + testng_excluded_groups = "Not-bamboo" } install4jExtraScheme = "jalviewb" break @@ -191,11 +195,6 @@ ext { case "RELEASE": getdownAppDistDir = getdown_app_dir_release reportRsyncCommand = true - // Don't ignore transpile errors for release build - if (jalviewjs_ignore_transpile_errors.equals("true")) { - jalviewjs_ignore_transpile_errors = "false" - println("Setting jalviewjs_ignore_transpile_errors to 'false'") - } install4jSuffix = "" install4jDSStore = "DS_Store" install4jDMGBackgroundImage = "jalview_dmg_background.png" @@ -206,11 +205,11 @@ 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}") - buildProperties = string("${buildDir}/archive/${build_properties_file}") + package_dir = string("${ARCHIVEDIR}/${package_dir}") + buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}") buildDist = false } reportRsyncCommand = true @@ -221,11 +220,11 @@ 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}") - buildProperties = string("${buildDir}/archive/${build_properties_file}") + package_dir = string("${ARCHIVEDIR}/${package_dir}") + buildProperties = string("${ARCHIVEDIR}/${classes_dir}/${build_properties_file}") buildDist = false } reportRsyncCommand = true @@ -428,8 +427,8 @@ ext { - buildingHTML = string("${jalviewDir}/${docDir}/building.html") - helpFile = string("${classesDir}/${help_dir}/help.jhm") + buildingHTML = string("${jalviewDir}/${doc_dir}/building.html") + helpFile = string("${resourceClassesDir}/${help_dir}/help.jhm") helpParentDir = string("${jalviewDir}/${help_parent_dir}") helpSourceDir = string("${helpParentDir}/${help_dir}") @@ -473,10 +472,9 @@ sourceSets { srcDirs += helpParentDir } - jar.destinationDir = file("${jalviewDir}/${packageDir}") + jar.destinationDir = file("${jalviewDir}/${package_dir}") compileClasspath = files(sourceSets.main.java.outputDir) - //compileClasspath += files(sourceSets.main.resources.srcDirs) compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"]) runtimeClasspath = compileClasspath @@ -484,18 +482,19 @@ sourceSets { clover { java { - srcDirs = [ cloverInstrDir ] - outputDir = file("${buildDir}/${cloverClassesDir}") + srcDirs cloverInstrDir + outputDir = cloverClassesDir } resources { srcDirs = sourceSets.main.resources.srcDirs } - compileClasspath = configurations.cloverRuntime + files( sourceSets.clover.java.outputDir ) - compileClasspath += files(sourceSets.main.java.outputDir) - compileClasspath += sourceSets.main.compileClasspath - compileClasspath += fileTree(dir: "${jalviewDir}/${utilsDir}", include: ["**/*.jar"]) + + compileClasspath = files( sourceSets.clover.java.outputDir ) + //compileClasspath += files( testClassesDir ) compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"]) + compileClasspath += fileTree(dir: "${jalviewDir}/${clover_lib_dir}", include: ["*.jar"]) + compileClasspath += fileTree(dir: "${jalviewDir}/${utils_dir}/testnglibs", include: ["**/*.jar"]) runtimeClasspath = compileClasspath } @@ -503,42 +502,20 @@ sourceSets { test { java { srcDirs testSourceDir - outputDir = file("${jalviewDir}/${testOutputDir}") + outputDir = file(testClassesDir) } resources { - srcDirs = sourceSets.main.resources.srcDirs + srcDirs = useClover ? sourceSets.clover.resources.srcDirs : sourceSets.main.resources.srcDirs } compileClasspath = files( sourceSets.test.java.outputDir ) - - if (use_clover) { - compileClasspath = sourceSets.clover.compileClasspath - } else { - compileClasspath += files(sourceSets.main.java.outputDir) - } - - compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"]) - compileClasspath += fileTree(dir: "${jalviewDir}/${utilsDir}/testnglibs", include: ["**/*.jar"]) - compileClasspath += fileTree(dir: "${jalviewDir}/${utilsDir}/testlibs", include: ["**/*.jar"]) + compileClasspath += useClover ? sourceSets.clover.compileClasspath : sourceSets.main.compileClasspath + compileClasspath += fileTree(dir: "${jalviewDir}/${utils_dir}/testnglibs", include: ["**/*.jar"]) runtimeClasspath = compileClasspath } -} - - -// clover bits -dependencies { - if (use_clover) { - cloverCompile 'org.openclover:clover:4.4.1' - testCompile 'org.openclover:clover:4.4.1' - } -} - -configurations { - cloverRuntime - cloverRuntime.extendsFrom cloverCompile } @@ -652,7 +629,6 @@ eclipse { javaRuntimeName = eclipseJavaRuntimeName // add in jalview project specific properties/preferences into eclipse core preferences - // and also the codestyle XML file file { withProperties { props -> def jalview_prefs = new Properties() @@ -751,61 +727,208 @@ eclipseGroovyCorePreferences.mustRunAfter eclipseJdt /* end of eclipse preferences hack */ -task cloverInstr { - // only instrument source, we build test classes as normal - inputs.files files (sourceSets.main.allJava,sourceSets.test.allJava) // , fileTree(dir:"$jalviewDir/$testSourceDir", include: ["**/*.java"])) - outputs.dir cloverInstrDir +// clover bits + +task cleanClover { doFirst { - delete cloverInstrDir - def argsList = [ - "--initstring", - cloverDb, - "-d", - cloverInstrDir.getPath(), - ] - argsList.addAll( - inputs.files.files.collect( - { file -> file.absolutePath } - ) + delete cloverBuildDir + } +} + + +task cloverInstrJava(type: JavaExec) { + group = "Verification" + description = "Create clover instrumented source java files" + + dependsOn cleanClover + + inputs.files(sourceSets.main.allJava) + outputs.dir(cloverInstrDir) + + //classpath = fileTree(dir: "${jalviewDir}/${clover_lib_dir}", include: ["*.jar"]) + classpath = sourceSets.clover.compileClasspath + main = "com.atlassian.clover.CloverInstr" + + def argsList = [ + "--encoding", + "UTF-8", + "--initstring", + cloverDb, + "--destdir", + cloverInstrDir.getPath(), + ] + def srcFiles = sourceSets.main.allJava.files + argsList.addAll( + srcFiles.collect( + { file -> file.absolutePath } ) - String[] args = argsList.toArray() - println("About to instrument "+args.length +" files") - com.atlassian.clover.CloverInstr.mainImpl(args) + ) + args argsList.toArray() + + doFirst { + delete cloverInstrDir + println("Clover: About to instrument "+srcFiles.size() +" files") + } +} + + +task cloverInstrTests(type: JavaExec) { + group = "Verification" + description = "Create clover instrumented source test files" + + dependsOn cleanClover + + inputs.files(testDir) + outputs.dir(cloverTestInstrDir) + + classpath = sourceSets.clover.compileClasspath + main = "com.atlassian.clover.CloverInstr" + + def argsList = [ + "--encoding", + "UTF-8", + "--initstring", + cloverDb, + "--srcdir", + testDir, + "--destdir", + cloverTestInstrDir.getPath(), + ] + args argsList.toArray() + + doFirst { + delete cloverTestInstrDir + println("Clover: About to instrument test files") } } +task cloverInstr { + group = "Verification" + description = "Create clover instrumented all source files" + + dependsOn cloverInstrJava + dependsOn cloverInstrTests +} + + cloverClasses.dependsOn cloverInstr -task cloverReport { +task cloverConsoleReport(type: JavaExec) { group = "Verification" - description = "Creates the Clover report" - inputs.dir "${buildDir}/clover" - outputs.dir "${reportsDir}/clover" + description = "Creates clover console report" + onlyIf { file(cloverDb).exists() } - doFirst { - def argsList = [ - "--initstring", - cloverDb, - "-o", - "${reportsDir}/clover" - ] - String[] args = argsList.toArray() - com.atlassian.clover.reporters.html.HtmlReporter.runReport(args) - // and generate ${reportsDir}/clover/clover.xml - args = [ - "--initstring", - cloverDb, - "-o", - "${reportsDir}/clover/clover.xml" - ].toArray() - com.atlassian.clover.reporters.xml.XMLReporter.runReport(args) + inputs.dir cloverClassesDir + + 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", + cloverDb, + "--unittests" + ] + + args argsList.toArray() +} + + +task cloverHtmlReport(type: JavaExec) { + group = "Verification" + description = "Creates clover HTML report" + + onlyIf { + file(cloverDb).exists() + } + + def cloverHtmlDir = "${cloverReportDir}/clover" + 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", + cloverDb, + "--outputdir", + cloverHtmlDir + ] + + if (cloverreport_html_options.length() > 0) { + argsList += cloverreport_html_options.split(" ") + } + + args argsList.toArray() +} + + +task cloverXmlReport(type: JavaExec) { + group = "Verification" + description = "Creates clover XML report" + + onlyIf { + file(cloverDb).exists() + } + + def cloverXmlFile = "${cloverReportDir}/clover.xml" + inputs.dir cloverClassesDir + outputs.file cloverXmlFile + + 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", + cloverDb, + "--outfile", + cloverXmlFile + ] + + if (cloverreport_xml_options.length() > 0) { + argsList += cloverreport_xml_options.split(" ") + } + + args argsList.toArray() +} + + +task cloverReport { + group = "Verification" + description = "Creates clover reports" + + dependsOn cloverXmlReport + dependsOn cloverHtmlReport } @@ -817,15 +940,7 @@ compileCloverJava { options.compilerArgs += additional_compiler_args print ("Setting target compatibility to "+targetCompatibility+"\n") } - classpath += configurations.cloverRuntime -} - - -task cleanClover { - doFirst { - delete cloverInstrDir - delete cloverDb - } + //classpath += configurations.cloverRuntime } // end clover bits @@ -837,23 +952,17 @@ compileJava { options.compilerArgs = additional_compiler_args options.encoding = "UTF-8" doFirst { - print ("Setting target compatibility to "+targetCompatibility+"\n") + print ("Setting target compatibility to "+compile_target_compatibility+"\n") } } compileTestJava { - if (use_clover) { - dependsOn compileCloverJava - classpath += configurations.cloverRuntime - } else { - classpath += sourceSets.main.runtimeClasspath - } + sourceCompatibility = compile_source_compatibility + targetCompatibility = compile_target_compatibility + options.compilerArgs = additional_compiler_args doFirst { - sourceCompatibility = compile_source_compatibility - targetCompatibility = compile_target_compatibility - options.compilerArgs = additional_compiler_args print ("Setting target compatibility to "+targetCompatibility+"\n") } } @@ -938,8 +1047,8 @@ task cleanBuildingHTML(type: Delete) { task convertBuildingMD(type: Exec) { dependsOn cleanBuildingHTML - def buildingMD = "${jalviewDir}/${docDir}/building.md" - def css = "${jalviewDir}/${docDir}/github.css" + def buildingMD = "${jalviewDir}/${doc_dir}/building.md" + def css = "${jalviewDir}/${doc_dir}/github.css" def pandoc = null pandoc_exec.split(",").each { @@ -973,8 +1082,8 @@ task convertBuildingMD(type: Exec) { task syncDocs(type: Sync) { dependsOn convertBuildingMD - def syncDir = "${classesDir}/${docDir}" - from fileTree("${jalviewDir}/${docDir}") + def syncDir = "${classesDir}/${doc_dir}" + from fileTree("${jalviewDir}/${doc_dir}") into syncDir } @@ -982,7 +1091,7 @@ task syncDocs(type: Sync) { task copyHelp(type: Copy) { def inputDir = helpSourceDir - def outputDir = "${classesDir}/${help_dir}" + def outputDir = "${resourceClassesDir}/${help_dir}" from(inputDir) { exclude '**/*.gif' exclude '**/*.jpg' @@ -1010,7 +1119,7 @@ task copyHelp(type: Copy) { task syncLib(type: Sync) { - def syncDir = "${classesDir}/${libDistDir}" + def syncDir = "${resourceClassesDir}/${libDistDir}" from fileTree("${jalviewDir}/${libDistDir}") into syncDir } @@ -1020,7 +1129,7 @@ task syncResources(type: Sync) { dependsOn createBuildProperties from resourceDir include "**/*.*" - into "${classesDir}" + into "${resourceClassesDir}" preserve { include "**" } @@ -1037,18 +1146,17 @@ task prepare { //testReportDirName = "test-reports" // note that test workingDir will be $jalviewDir test { dependsOn prepare - dependsOn compileJava - if (use_clover) { - dependsOn cloverInstr - } + //dependsOn compileJava ////? DELETE - if (use_clover) { - print("Running tests " + (use_clover?"WITH":"WITHOUT") + " clover [clover="+use_clover+"]\n") + if (useClover) { + dependsOn cloverClasses + } else { //? + dependsOn compileJava //? } useTestNG() { - includeGroups testngGroups - excludeGroups testngExcludedGroups + includeGroups testng_groups + excludeGroups testng_excluded_groups preserveOrder true useDefaultListeners=true } @@ -1061,6 +1169,11 @@ test { targetCompatibility = compile_target_compatibility jvmArgs += additional_compiler_args + doFirst { + if (useClover) { + println("Running tests " + (useClover?"WITH":"WITHOUT") + " clover") + } + } } @@ -1086,22 +1199,22 @@ task buildIndices(type: JavaExec) { task compileLinkCheck(type: JavaCompile) { options.fork = true - classpath = files("${jalviewDir}/${utilsDir}") - destinationDir = file("${jalviewDir}/${utilsDir}") - source = fileTree(dir: "${jalviewDir}/${utilsDir}", include: ["HelpLinksChecker.java", "BufferedLineReader.java"]) + classpath = files("${jalviewDir}/${utils_dir}") + destinationDir = file("${jalviewDir}/${utils_dir}") + source = fileTree(dir: "${jalviewDir}/${utils_dir}", include: ["HelpLinksChecker.java", "BufferedLineReader.java"]) - inputs.file("${jalviewDir}/${utilsDir}/HelpLinksChecker.java") - inputs.file("${jalviewDir}/${utilsDir}/HelpLinksChecker.java") - outputs.file("${jalviewDir}/${utilsDir}/HelpLinksChecker.class") - outputs.file("${jalviewDir}/${utilsDir}/BufferedLineReader.class") + inputs.file("${jalviewDir}/${utils_dir}/HelpLinksChecker.java") + inputs.file("${jalviewDir}/${utils_dir}/HelpLinksChecker.java") + outputs.file("${jalviewDir}/${utils_dir}/HelpLinksChecker.class") + outputs.file("${jalviewDir}/${utils_dir}/BufferedLineReader.class") } task linkCheck(type: JavaExec) { dependsOn prepare, compileLinkCheck - def helpLinksCheckerOutFile = file("${jalviewDir}/${utilsDir}/HelpLinksChecker.out") - classpath = files("${jalviewDir}/${utilsDir}") + def helpLinksCheckerOutFile = file("${jalviewDir}/${utils_dir}/HelpLinksChecker.out") + classpath = files("${jalviewDir}/${utils_dir}") main = "HelpLinksChecker" workingDir = jalviewDir args = [ "${classesDir}/${help_dir}", "-nointernet" ] @@ -1122,12 +1235,12 @@ task linkCheck(type: JavaExec) { // import the pubhtmlhelp target ant.properties.basedir = "${jalviewDir}" ant.properties.helpBuildDir = "${jalviewDirAbsolutePath}/${classes_dir}/${help_dir}" -ant.importBuild "${utilsDir}/publishHelp.xml" +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") } } @@ -1138,13 +1251,13 @@ jar { dependsOn createBuildProperties manifest { - attributes "Main-Class": mainClass, + attributes "Main-Class": main_class, "Permissions": "all-permissions", "Application-Name": "Jalview Desktop", "Codebase": application_codebase } - destinationDir = file("${jalviewDir}/${packageDir}") + destinationDir = file("${jalviewDir}/${package_dir}") archiveName = rootProject.name+".jar" exclude "cache*/**" @@ -1154,20 +1267,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 } @@ -1183,7 +1296,7 @@ task makeDist { dependsOn cleanPackageDir dependsOn syncJars dependsOn jar - outputs.dir("${jalviewDir}/${packageDir}") + outputs.dir("${jalviewDir}/${package_dir}") } @@ -1204,7 +1317,7 @@ shadowJar { manifest { attributes 'Implementation-Version': JALVIEW_VERSION } - mainClassName = shadowJarMainClass + mainClassName = shadow_jar_main_class mergeServiceFiles() classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION minimize() @@ -1296,7 +1409,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 @@ -1333,7 +1446,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 = ${getdown_launcher_new}\n" - getdownTextString += "class = ${mainClass}\n" + getdownTextString += "class = ${main_class}\n" def getdown_txt = file("${getdownWebsiteDir}/getdown.txt") getdown_txt.write(getdownTextString) @@ -1391,7 +1504,7 @@ task getdownWebsite() { } if (buildDist) { - inputs.dir("${jalviewDir}/${packageDir}") + inputs.dir("${jalviewDir}/${package_dir}") } outputs.dir(getdownWebsiteDir) outputs.dir(getdownFilesDir) @@ -1400,8 +1513,10 @@ task getdownWebsite() { // a helper task to allow getdown digest of any dir: `gradle getdownDigestDir -PDIGESTDIR=/path/to/my/random/getdown/dir task getdownDigestDir(type: JavaExec) { + group "Help" + description "A task to run a getdown Digest on a dir with getdown.txt. Provide a DIGESTDIR property via -PDIGESTDIR=..." + def digestDirPropertyName = "DIGESTDIR" - description = "Digest a local dir (-P${digestDirPropertyName}=...) for getdown" doFirst { classpath = files(getdownLauncher) def digestDir = findProperty(digestDirPropertyName) @@ -2442,7 +2557,7 @@ def jalviewjsPublishCoreTemplate(String coreName, String templateName, File inpu beginToken: '_', endToken: '_', tokens: [ - 'MAIN': '"'+mainClass+'"', + 'MAIN': '"'+main_class+'"', 'CODE': "null", 'NAME': jalviewjsJalviewTemplateName+" [core ${coreName}]", 'COREKEY': jalviewjs_core_key,