X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=f41e2b36e8fc2bf21523081bd2231c6d939db2be;hb=44d68d55d9c85bf7b28853feeebc4b901c4a8392;hp=3f444be1048e939b1f3cce227e8e4fdf8e7c117a;hpb=1bd2350fdb5cce781548ce2e2188ab14bd412b6d;p=jalview.git diff --git a/build.gradle b/build.gradle index 3f444be..f41e2b3 100644 --- a/build.gradle +++ b/build.gradle @@ -3,8 +3,8 @@ import org.gradle.internal.os.OperatingSystem buildscript { dependencies { - classpath 'org.openclover:clover:4.3.1' - classpath 'org.apache.commons:commons-compress:1.18' + classpath 'org.openclover:clover:4.3.1' + classpath 'org.apache.commons:commons-compress:1.18' } } @@ -39,20 +39,21 @@ if (clover.equals("true")) { // configure classpath/args for j8/j11 compilation +def jalviewDirAbsolutePath = file(jalviewDir).getAbsolutePath() def libDir def libDistDir def compile_source_compatibility def compile_target_compatibility ext { - // where the getdown channel will be built. + // where the getdown channel will be built. // TODO: consider allowing this expression to be overrriden by -P arg getdownWebsiteDir = jalviewDir + '/' + getdown_website_dir + '/' + JAVA_VERSION + '/' getdownAppDir = getdownWebsiteDir + '/' + getdown_app_dir getdownJ11libDir = getdownWebsiteDir + '/' + getdown_j11lib_dir getdownResourceDir = getdownWebsiteDir + '/' + getdown_resource_dir getdownLauncher = jalviewDir + '/' + getdown_launcher - getdownFilesDir = jalviewDir + '/' + getdown_files_dir + getdownFilesDir = jalviewDir + '/' + getdown_files_dir + '/' + JAVA_VERSION + '/' getdownLib1 = jalviewDir + '/' + getdown_lib1 def getdownChannel = getdown_channel_name if (getdown_channel_name.equals("COMMIT")) { @@ -63,12 +64,14 @@ ext { modules_runtimeClasspath = modules_compileClasspath } +def JAVA_INTEGER_VERSION def additional_compiler_args = [] -// these are getdown.txt properties defined dependent on the JAVA_VERSION +// these are getdown.txt properties defined dependent on the JAVA_VERSION 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 if (JAVA_VERSION.equals("1.8")) { + JAVA_INTEGER_VERSION = "8" libDir = j11libDir libDistDir = j8libDir compile_source_compatibility = 1.8 @@ -76,6 +79,7 @@ if (JAVA_VERSION.equals("1.8")) { getdown_alt_java_min_version = getdown_alt_java8_min_version getdown_alt_multi_java_location = getdown_alt_java8_txt_multi_java_location } else if (JAVA_VERSION.equals("11")) { + JAVA_INTEGER_VERSION = "11" libDir = j11libDir libDistDir = j11libDir compile_source_compatibility = 11 @@ -112,10 +116,10 @@ sourceSets { } clover { java { - srcDirs = [ cloverInstrDir ] - outputDir = file("${buildDir}/${cloverClassesDir}") + srcDirs = [ cloverInstrDir ] + outputDir = file("${buildDir}/${cloverClassesDir}") } - + resources { srcDirs = sourceSets.main.resources.srcDirs } @@ -127,7 +131,7 @@ sourceSets { runtimeClasspath = compileClasspath } - + test { java { srcDirs "$jalviewDir/$testSourceDir" @@ -138,7 +142,7 @@ sourceSets { srcDirs = sourceSets.main.resources.srcDirs } - compileClasspath = files( sourceSets.test.java.outputDir ) + compileClasspath = files( sourceSets.test.java.outputDir ) if (use_clover) { compileClasspath += sourceSets.clover.compileClasspath @@ -163,8 +167,8 @@ dependencies { } configurations { - cloverRuntime - cloverRuntime.extendsFrom cloverCompile + cloverRuntime + cloverRuntime.extendsFrom cloverCompile } eclipse { @@ -187,7 +191,7 @@ eclipse { } } containers 'org.eclipse.buildship.core.gradleclasspathcontainer' - + minusConfigurations += removeThese plusConfigurations = [ ] file { @@ -197,7 +201,7 @@ eclipse { HashMap addedSrcPath = new HashMap<>(); cp.entries.each { entry -> if (entry.kind == 'src') { - if (addedSrcPath.getAt(entry.path) || !(entry.path == "src" || entry.path == "test" || entry.path == "resources")) { + if (addedSrcPath.getAt(entry.path) || !(entry.path == "src" || entry.path == "test")) { removeTheseToo += entry } else { addedSrcPath.putAt(entry.path, true) @@ -206,7 +210,7 @@ eclipse { } cp.entries.removeAll(removeTheseToo) } - + withXml { def node = it.asNode() def srcTestAttributes @@ -226,8 +230,10 @@ eclipse { if (addTestAttribute) { srcTestAttributes.append(new Node(null, "attribute", [name:"test", value:"true"])) } - + node.appendNode('classpathentry', [kind:"output", path:"bin/main"]) + node.appendNode('classpathentry', [kind:"lib", path:helpParentDir]) + node.appendNode('classpathentry', [kind:"lib", path:resourceDir]) HashMap addedLibPath = new HashMap<>(); def allPaths = sourceSets.test.compileClasspath + sourceSets.main.compileClasspath sourceSets.main.compileClasspath.each{ @@ -267,8 +273,8 @@ eclipse { } else { //println("Adding entry "+itPath) node.appendNode('classpathentry', [kind:"lib", path:itPath]) - .appendNode('attributes') - .appendNode('attribute', [name:"test", value:"true"]) + .appendNode('attributes') + .appendNode('attribute', [name:"test", value:"true"]) addedLibPath.put(itPath, true) } } @@ -286,14 +292,14 @@ eclipse { file { withProperties { props -> def jalview_prefs = new Properties() - def ins = new FileInputStream(eclipse_extra_jdt_prefs_file) - jalview_prefs.load(ins) - ins.close() - jalview_prefs.forEach { t, v -> - if (props.getAt(t) == null) { - props.putAt(t, v) - } - } + def ins = new FileInputStream(eclipse_extra_jdt_prefs_file) + jalview_prefs.load(ins) + ins.close() + jalview_prefs.forEach { t, v -> + if (props.getAt(t) == null) { + props.putAt(t, v) + } + } } } } @@ -302,42 +308,42 @@ eclipse { task cloverInstr() { // only instrument source, we build test classes as normal - inputs.files files (sourceSets.main.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 - })) - String[] args = argsList.toArray() - println("About to instrument "+args.length +" files") - com.atlassian.clover.CloverInstr.mainImpl(args) - } + inputs.files files (sourceSets.main.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 + })) + String[] args = argsList.toArray() + println("About to instrument "+args.length +" files") + com.atlassian.clover.CloverInstr.mainImpl(args) + } } - + task cloverReport { - group = "Verification" - description = "Createst the Clover report" - inputs.dir "${buildDir}/clover" - outputs.dir "${reportsDir}/clover" - onlyIf { - file("${buildDir}/clover/clover.db").exists() - } - doFirst { - def argsList = ["--initstring", "${buildDir}/clover/clover.db", - "-o", "${reportsDir}/clover"] - String[] args = argsList.toArray() - com.atlassian.clover.reporters.html.HtmlReporter.runReport(args) - - // and generate ${reportsDir}/clover/clover.xml - args = ["--initstring", "${buildDir}/clover/clover.db", - "-o", "${reportsDir}/clover/clover.xml"].toArray() - com.atlassian.clover.reporters.xml.XMLReporter.runReport(args) - } + group = "Verification" + description = "Createst the Clover report" + inputs.dir "${buildDir}/clover" + outputs.dir "${reportsDir}/clover" + onlyIf { + file("${buildDir}/clover/clover.db").exists() + } + doFirst { + def argsList = ["--initstring", "${buildDir}/clover/clover.db", + "-o", "${reportsDir}/clover"] + String[] args = argsList.toArray() + com.atlassian.clover.reporters.html.HtmlReporter.runReport(args) + + // and generate ${reportsDir}/clover/clover.xml + args = ["--initstring", "${buildDir}/clover/clover.db", + "-o", "${reportsDir}/clover/clover.xml"].toArray() + com.atlassian.clover.reporters.xml.XMLReporter.runReport(args) + } } // end clover bits @@ -438,21 +444,23 @@ task syncDocs(type: Sync) { } def helpFile = "$classes/$helpDir/help.jhm" -task syncHelp(type: Sync) { - inputs.files("$jalviewDir/$helpDir") - outputs.files(helpFile) - - def syncDir = "$classes/$helpDir" - from fileTree("$jalviewDir/$helpDir") - into syncDir -} task copyHelp(type: Copy) { - def inputDir = "$jalviewDir/$helpDir" + def inputDir = "$jalviewDir/$helpParentDir/$helpDir" def outputDir = "$classes/$helpDir" - from inputDir + from(inputDir) { + exclude '**/*.gif' + exclude '**/*.jpg' + exclude '**/*.png' + filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['Version-Rel': JALVIEW_VERSION]) + } + from(inputDir) { + include '**/*.gif' + include '**/*.jpg' + include '**/*.png' + } into outputDir - filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['Version-Rel': "USING_FILTER"]) + inputs.dir(inputDir) outputs.files(helpFile) outputs.dir(outputDir) @@ -489,14 +497,14 @@ test { dependsOn cloverInstr } - print("Running tests " + (use_clover?"WITH":"WITHOUT") + " clover [clover="+use_clover+"]\n") - + print("Running tests " + (use_clover?"WITH":"WITHOUT") + " clover [clover="+use_clover+"]\n") + useTestNG() { includeGroups testngGroups preserveOrder true useDefaultListeners=true } - + workingDir = jalviewDir //systemProperties 'clover.jar' System.properties.clover.jar sourceCompatibility = compile_source_compatibility @@ -616,7 +624,7 @@ task cleanDist { shadowJar { dependsOn makeDist from ("$jalviewDir/$libDistDir") { - include("*.jar") + include("*.jar") } mainClassName = shadowJarMainClass mergeServiceFiles() @@ -638,7 +646,7 @@ task getdownWebsite() { def props = project.properties.sort { it.key } props.put("getdown_txt_java_min_version", getdown_alt_java_min_version) props.put("getdown_txt_multi_java_location", getdown_alt_multi_java_location) - + props.put("getdown_txt_appbase", getdown_app_base) props.each{ prop, val -> if (prop.startsWith("getdown_txt_") && val != null) { @@ -699,17 +707,20 @@ task getdownWebsite() { } } - if (JAVA_VERSION.equals("11")) { - def j11libFiles = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"]).getFiles() - j11libFiles.sort().each{f -> - def line = "code = " + getdown_j11lib_dir + '/' + f.getName() + "\n" - getdownTextString += line - copy { - from f.getPath() - into project.ext.getdownJ11libDir - } - } - } + // NOT USING MODULES YET, EVERYTHING SHOULD BE IN dist + /* + if (JAVA_VERSION.equals("11")) { + def j11libFiles = fileTree(dir: "$jalviewDir/$j11libDir", include: ["*.jar"]).getFiles() + j11libFiles.sort().each{f -> + def line = "code = " + getdown_j11lib_dir + '/' + f.getName() + "\n" + getdownTextString += line + copy { + from f.getPath() + into project.ext.getdownJ11libDir + } + } + } + */ getdownTextString += "code = " + file(getdownLauncher).getName() + "\n" getdownTextString += "class = " + mainClass + "\n" @@ -724,22 +735,17 @@ task getdownWebsite() { copy { from getdownLauncher - into project.ext.getdownWebsiteDir - } - - copy { - from getdownLauncher into project.ext.getdownFilesDir } copy { - from getdownLib1 - into project.ext.getdownFilesDir + from getdownLauncher + into project.ext.getdownWebsiteDir } copy { from getdownLib1 - into project.ext.getdownWebsiteDir + into project.ext.getdownFilesDir + '/' + packageDir } copy { @@ -748,7 +754,7 @@ task getdownWebsite() { from jalviewDir + '/' + project.getProperty('getdown_txt_ui.progress_image') from jalviewDir + '/' + project.getProperty('getdown_txt_ui.icon') from jalviewDir + '/' + project.getProperty('getdown_txt_ui.mac_dock_icon') - into project.ext.getdownFilesDir + '/' + getdown_resource_dir + into project.ext.getdownFilesDir + '/' + getdown_resource_dir } } @@ -798,19 +804,23 @@ install4j { def install4jConf def macosJavaVMDir +def macosJavaVMTgz def windowsJavaVMDir +def windowsJavaVMTgz def install4jDir = "$jalviewDir/$install4jResourceDir" def install4jConfFile = "jalview-installers-java"+JAVA_VERSION+".install4j" install4jConf = "$install4jDir/$install4jConfFile" - + task copyInstall4jTemplate(type: Copy) { - macosJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/macos-jre"+JAVA_VERSION+"/java_vm" - windowsJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/windows-jre"+JAVA_VERSION+"/java_vm" + macosJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/getdown/macos-jre"+JAVA_VERSION+"/jre" + macosJavaVMTgz = System.env.HOME+"/buildtools/jre/openjdk-java_vm/install4j/tgz/macos-jre"+JAVA_VERSION+".tar.gz" + windowsJavaVMDir = System.env.HOME+"/buildtools/jre/openjdk-java_vm/getdown/windows-jre"+JAVA_VERSION+"/jre" + windowsJavaVMTgz = System.env.HOME+"/buildtools/jre/openjdk-java_vm/install4j/tgz/windows-jre"+JAVA_VERSION+".tar.gz" from (install4jDir) { include install4jTemplate rename (install4jTemplate, install4jConfFile) filter(ReplaceTokens, beginToken: '', endToken: '', tokens: ['9999999999': JAVA_VERSION]) - filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['VERSION': JALVIEW_VERSION, 'MACOS_JAVA_VM_DIR': macosJavaVMDir, 'WINDOWS_JAVA_VM_DIR': windowsJavaVMDir]) + filter(ReplaceTokens, beginToken: '$$', endToken: '$$', tokens: ['JAVA_VERSION': JAVA_VERSION, 'JAVA_INTEGER_VERSION': JAVA_INTEGER_VERSION, 'VERSION': JALVIEW_VERSION, 'MACOS_JAVA_VM_DIR': macosJavaVMDir, 'MACOS_JAVA_VM_TGZ': macosJavaVMTgz, 'WINDOWS_JAVA_VM_DIR': windowsJavaVMDir, 'WINDOWS_JAVA_VM_TGZ': windowsJavaVMTgz]) } into install4jDir inputs.files("$install4jDir/$install4jTemplate")