X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=build.gradle;h=011be6702613d4704477cd3c8c4442485fd81806;hb=bc7ebbb58133e64e7a77cb83eef8e2df75faec03;hp=673cec5b4da7e6c62e11032836838504aac0e3fd;hpb=5f7b889ee04f8bae65c785c9cebc04d29e0811d5;p=jalview.git diff --git a/build.gradle b/build.gradle index 673cec5..011be67 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,7 @@ plugins { id 'application' id 'eclipse' id "com.diffplug.gradle.spotless" version "3.28.0" - id 'com.github.johnrengelman.shadow' version '4.0.3' + id 'com.github.johnrengelman.shadow' version '6.0.0' id 'com.install4j.gradle' version '10.0.3' id 'com.dorongold.task-tree' version '2.1.1' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree id 'com.palantir.git-version' version '0.13.0' apply false @@ -1783,6 +1783,27 @@ task testTask1(type: Test) { } } +task testTask2(type: Test) { + group = "Verification" + description = "Tests that need to be isolated from the main test run" + useTestNG() { + includeGroups name + excludeGroups testng_excluded_groups.split(",") + preserveOrder true + useDefaultListeners=true + } +} +task testTask3(type: Test) { + group = "Verification" + description = "Tests that need to be isolated from the main test run" + useTestNG() { + includeGroups name + excludeGroups testng_excluded_groups.split(",") + preserveOrder true + useDefaultListeners=true + } +} + /* insert more testTaskNs here -- change N to next digit or other string */ /* task testTaskN(type: Test) { @@ -1830,7 +1851,9 @@ tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}.all { te showExceptions true showCauses true showStackTraces true - + if (test_output) { + showStandardStreams true + } info.events = [ TestLogEvent.FAILED ] } @@ -2133,12 +2156,33 @@ shadowJar { if (buildDist) { dependsOn makeDist } - from ("${jalviewDir}/${libDistDir}") { - include("*.jar") - } - manifest { - attributes "Implementation-Version": JALVIEW_VERSION, - "Application-Name": applicationName + + def jarFiles = fileTree(dir: "${jalviewDir}/${libDistDir}", include: "*.jar", exclude: "regex.jar").getFiles() + def groovyJars = jarFiles.findAll {it1 -> file(it1).getName().startsWith("groovy-swing")} + def otherJars = jarFiles.findAll {it2 -> !file(it2).getName().startsWith("groovy-swing")} + from groovyJars + from otherJars + + // we need to include the groovy-swing Include-Package for it to run in the shadowJar + doFirst { + def jarFileManifests = [] + groovyJars.each { jarFile -> + def mf = zipTree(jarFile).getFiles().find { it.getName().equals("MANIFEST.MF") } + if (mf != null) { + jarFileManifests += mf + } + } + + manifest { + attributes "Implementation-Version": JALVIEW_VERSION, "Application-Name": applicationName + from (jarFileManifests) { + eachEntry { details -> + if (!details.key.equals("Import-Package")) { + details.exclude() + } + } + } + } } duplicatesStrategy "INCLUDE" @@ -3000,6 +3044,7 @@ task sourceDist(type: Tar) { into project.name def EXCLUDE_FILES=[ + "dist/*", "build/*", "bin/*", "test-output/", @@ -4260,7 +4305,7 @@ task jalviewjsLaunchTest { def stdout def stderr doFirst { - def timeoutms = Integer.valueOf(jalviewjs_chromium_timeout) * 1000 + def timeoutms = Integer.valueOf(jalviewjs_chromium_overall_timeout) * 1000 def binary = file(chromiumBinary) if (!binary.exists()) { @@ -4303,6 +4348,7 @@ task jalviewjsLaunchTest { errorOutput = execStderr executable(chromiumBinary) args(execArgs) + println "COMMAND: '"+commandLine.join(" ")+"'" } executor.shutdownNow() } @@ -4320,7 +4366,7 @@ task jalviewjsLaunchTest { executor.shutdownNow() } // if no change in stderr for 10s then also end - if (noChangeIterations >= 10) { + if (noChangeIterations >= jalviewjs_chromium_idle_timeout) { executor.shutdownNow() } if (stderrString.length() == noChangeBytes) {