X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=8dcbc41d6916bd6c68d8c2680864ac6140414ff8;hb=e1fcf786ed9611e55bd0dd2d7052ba519aaecb7e;hp=368319567fbc106d487a19e980e9df6968ce5a68;hpb=3fe5792cc63d53a5ace952bd68d3bb673c97f588;p=jalview.git diff --git a/build.gradle b/build.gradle index 3683195..8dcbc41 100644 --- a/build.gradle +++ b/build.gradle @@ -7,12 +7,18 @@ import groovy.transform.ExternalizeMethods import groovy.util.XmlParser import groovy.xml.XmlUtil + buildscript { + repositories { + mavenCentral() + mavenLocal() + } dependencies { classpath 'org.openclover:clover:4.4.1' } } + plugins { id 'java' id 'application' @@ -26,12 +32,6 @@ repositories { jcenter() mavenCentral() mavenLocal() - flatDir { - dirs gradlePluginsDir - } -} - -dependencies { } @@ -104,6 +104,7 @@ ext { // clover cloverInstrDir = file("${buildDir}/${cloverSourcesInstrDir}") + cloverDb = string("${buildDir}/clover/clover.db") classesDir = string("${jalviewDir}/${classes_dir}") if (clover.equals("true")) { use_clover = true @@ -410,12 +411,13 @@ dependencies { } } - configurations { cloverRuntime cloverRuntime.extendsFrom cloverCompile } + +// eclipse project and settings files creation, also used by buildship eclipse { project { name = eclipse_project_name @@ -550,18 +552,24 @@ eclipse { } -task cloverInstr() { +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 doFirst { delete cloverInstrDir - def argsList = ["--initstring", "${buildDir}/clover/clover.db", - "-d", "${buildDir}/${cloverSourcesInstrDir}"] - argsList.addAll(inputs.files.files.collect({ file -> - file.absolutePath - })) + def argsList = [ + "--initstring", + cloverDb, + "-d", + cloverInstrDir.getPath(), + ] + argsList.addAll( + inputs.files.files.collect( + { file -> file.absolutePath } + ) + ) String[] args = argsList.toArray() println("About to instrument "+args.length +" files") com.atlassian.clover.CloverInstr.mainImpl(args) @@ -569,43 +577,56 @@ task cloverInstr() { } -task cloverReportHTML (type: JavaExec) { - inputs.dir "${buildDir}/clover" - outputs.dir "${reportsDir}/clover" +cloverClasses.dependsOn cloverInstr - classpath configurations.cloverRuntime - maxHeapSize "${cloverReportJVMHeap}" - jvmArgs += "${cloverReportJVMArgs}" - main = "com.atlassian.clover.reporters.html.HtmlReporter" - args "--initstring", "${buildDir}/clover/clover.db", "-o", "${reportsDir}/clover" - "${cloverReportHTMLOptions}".split(",").each { - args+= it.trim() - } -} -task cloverReportXML (type: JavaExec) { - inputs.dir "${buildDir}/clover" - outputs.dir "${reportsDir}/clover" - maxHeapSize "${cloverReportJVMHeap}" - jvmArgs "${cloverReportJVMArgs}" - classpath configurations.cloverRuntime - main = "com.atlassian.clover.reporters.xml.XMLReporter" - args "--initstring", "${buildDir}/clover/clover.db", "-o", "${reportsDir}/clover/clover.xml" - - "${cloverReportXMLOptions}".split(",").each { - args+= it.trim() - } -} task cloverReport { group = "Verification" - description = "Creates the Clover report" - inputs.dir "${buildDir}/clover" - outputs.dir "${reportsDir}/clover" - onlyIf { - file("${buildDir}/clover/clover.db").exists() - } - dependsOn cloverReportXML - dependsOn cloverReportHTML + description = "Creates the Clover report" + inputs.dir "${buildDir}/clover" + outputs.dir "${reportsDir}/clover" + 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) + } +} + + +compileCloverJava { + + doFirst { + sourceCompatibility = compile_source_compatibility + targetCompatibility = compile_target_compatibility + options.compilerArgs += additional_compiler_args + print ("Setting target compatibility to "+targetCompatibility+"\n") + } + classpath += configurations.cloverRuntime +} + + +task cleanClover { + doFirst { + delete cloverInstrDir + delete cloverDb + } } // end clover bits @@ -638,18 +659,6 @@ compileTestJava { } -compileCloverJava { - - doFirst { - sourceCompatibility = compile_source_compatibility - targetCompatibility = compile_target_compatibility - options.compilerArgs += additional_compiler_args - print ("Setting target compatibility to "+targetCompatibility+"\n") - } - classpath += configurations.cloverRuntime -} - - clean { doFirst { delete sourceSets.main.java.outputDir @@ -658,9 +667,9 @@ clean { cleanTest { + dependsOn cleanClover doFirst { delete sourceSets.test.java.outputDir - delete cloverInstrDir } } @@ -840,6 +849,8 @@ test { useDefaultListeners=true } + maxHeapSize = "1024m" + workingDir = jalviewDir //systemProperties 'clover.jar' System.properties.clover.jar sourceCompatibility = compile_source_compatibility