From 6546deed24d49172792f003836fd39fc7b91b14d Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Fri, 23 Aug 2019 07:24:00 +0200 Subject: [PATCH] gradle: Travis changes --- .travis.yml | 6 ++- build.gradle | 1 + scripts/colored-output.gradle | 72 +++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 scripts/colored-output.gradle diff --git a/.travis.yml b/.travis.yml index 885fd45c3d..3526413099 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,5 +13,9 @@ cache: - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ -script: ./gradlew build +env: + - TERM=dumb + +install: ./gradlew assemble --console=plain +script: ./gradlew build --console=plain diff --git a/build.gradle b/build.gradle index 175278cab0..0ec9045391 100644 --- a/build.gradle +++ b/build.gradle @@ -83,6 +83,7 @@ ext { allprojects { apply plugin: 'maven' apply plugin: 'checkstyle' + apply from: "${project.rootDir}/scripts/colored-output.gradle" group = 'net.runelite' version = '1.5.32-SNAPSHOT' diff --git a/scripts/colored-output.gradle b/scripts/colored-output.gradle new file mode 100644 index 0000000000..cfbeebb445 --- /dev/null +++ b/scripts/colored-output.gradle @@ -0,0 +1,72 @@ +tasks.withType(Test) { + String ANSI_BOLD_WHITE = "\u001B[0;1m"; + String ANSI_RESET = "\u001B[0m"; + String ANSI_BLACK = "\u001B[30m"; + String ANSI_RED = "\u001B[31m"; + String ANSI_GREEN = "\u001B[32m"; + String ANSI_YELLOW = "\u001B[33m"; + String ANSI_BLUE = "\u001B[34m"; + String ANSI_PURPLE = "\u001B[35m"; + String ANSI_CYAN = "\u001B[36m"; + String ANSI_WHITE = "\u001B[37m"; + String CHECK_MARK = "\u2713"; + String NEUTRAL_FACE = "\u0CA0_\u0CA0"; + String X_MARK = "\u274C"; + + beforeSuite { suite -> + if (suite.name.startsWith("Test Run") || suite.name.startsWith("Gradle Worker")) return + + if (suite.parent != null && suite.className != null) { + out.println(ANSI_BOLD_WHITE + suite.name + ANSI_RESET) + } + + } + + afterTest { descriptor, result -> + def indicator = ANSI_WHITE + + if (result.failedTestCount > 0) indicator = ANSI_RED + X_MARK + else if (result.skippedTestCount > 0) indicator = ANSI_YELLOW + NEUTRAL_FACE + else indicator = ANSI_GREEN + CHECK_MARK + + out.println(' ' + indicator + ANSI_RESET + " " + descriptor.name); + + if (result.failedTestCount > 0) { + out.println(' ') + } + + } + + afterSuite { desc, result -> + if (desc.parent != null && desc.className != null) { + out.println("") + } + + + if (!desc.parent) { // will match the outermost suite + def failStyle = ANSI_RED + def skipStyle = ANSI_YELLOW + def summaryStyle = ANSI_WHITE + + switch (result.resultType) { + case TestResult.ResultType.SUCCESS: + summaryStyle = ANSI_GREEN; + break; + case TestResult.ResultType.FAILURE: + summaryStyle = ANSI_RED; + break; + } + + if (result.testCount > 0) { + out.println("--------------------------------------------------------------------------"); + out.println("Results: " + summaryStyle + "${result.resultType}" + ANSI_RESET + + " (${result.testCount} tests, " + + ANSI_GREEN + "${result.successfulTestCount} passed" + ANSI_RESET + + ", " + failStyle + "${result.failedTestCount} failed" + ANSI_RESET + + ", " + skipStyle + "${result.skippedTestCount} skipped" + ANSI_RESET + + ")"); + out.println("--------------------------------------------------------------------------"); + } + } + } +} \ No newline at end of file