【问题标题】:how to print color console in groovy如何在 groovy 中打印颜色控制台
【发布时间】:2020-06-15 18:52:01
【问题描述】:

我创建了 GroovyAnsi.groovy 文件,代码如下: 来源是https://gist.github.com/tvinke/db4d21dfdbdae49e6f92dcf1ca6120de 现在,请帮我在我的 jenkins groovy 脚本中调用这个函数来为输出着色..

我无法使用此功能,因为我遇到以下错误: groovy.lang.MissingPropertyException:没有这样的属性:out for class:groovy.lang.Binding 在 groovy.lang.Binding.getVariable(Binding.java:63) 在 org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:270)

// Ansi colors in Groovy
// Author: Ted Vinke
import static Ansi.*

println color("BOLD", Ansi.BOLD)
println color("ITALIC", Ansi.ITALIC)
println color("UNDERLINE", Ansi.UNDERLINE)
println color("BLINK", Ansi.BLINK)
println color("RAPID_BLINK", Ansi.RAPID_BLINK)
println color("REVERSE_VIDEO", Ansi.REVERSE_VIDEO)
println color("INVISIBLE_TEXT", Ansi.INVISIBLE_TEXT)

println color("RED", Ansi.RED)
println color("BLACK", Ansi.BLACK)
println color("BOLD", Ansi.BOLD)
println color("GREEN", Ansi.GREEN)
println color("YELLOW", Ansi.YELLOW)
println color("BLUE", Ansi.BLUE)
println color("MAGENTA", Ansi.MAGENTA)
println color("CYAN", Ansi.CYAN)
println color("WHITE", Ansi.WHITE)
println color("DARK_GRAY", Ansi.DARK_GRAY)
println color("LIGHT_BLUE", Ansi.LIGHT_BLUE)
println color("LIGHT_GREEN", Ansi.LIGHT_GREEN)
println color("LIGHT_CYAN", Ansi.LIGHT_CYAN)
println color("LIGHT_RED", Ansi.LIGHT_RED)
println color("LIGHT_PURPLE", Ansi.LIGHT_PURPLE)
println color("LIGHT_YELLOW", Ansi.LIGHT_YELLOW)

println(
    [
        'Look', Ansi.LIGHT_RED,
        'ma', Ansi.REVERSE_VIDEO,
        ',', Ansi.GREEN,
        'no ', Ansi.MAGENTA,
        'hands!', Ansi.LIGHT_YELLOW
    ]
    .collate(2)
    .collect { pair ->
        color(pair.first(), pair.last())
    }.join(' ')
)


/**
 * Small ANSI coloring utility.
 *
 * @see http://www.bluesock.org/~willg/dev/ansi.html
 * @see https://gist.github.com/dainkaplan/4651352
 */
class Ansi {

    static final String NORMAL          = "\u001B[0m"

    static final String BOLD            = "\u001B[1m"
    static final String ITALIC          = "\u001B[3m"
    static final String UNDERLINE       = "\u001B[4m"
    static final String BLINK           = "\u001B[5m"
    static final String RAPID_BLINK     = "\u001B[6m"
    static final String REVERSE_VIDEO   = "\u001B[7m"
    static final String INVISIBLE_TEXT  = "\u001B[8m"

    static final String BLACK           = "\u001B[30m"
    static final String RED             = "\u001B[31m"
    static final String GREEN           = "\u001B[32m"
    static final String YELLOW          = "\u001B[33m"
    static final String BLUE            = "\u001B[34m"
    static final String MAGENTA         = "\u001B[35m"
    static final String CYAN            = "\u001B[36m"
    static final String WHITE           = "\u001B[37m"

    static final String DARK_GRAY       = "\u001B[1;30m"
    static final String LIGHT_RED       = "\u001B[1;31m"
    static final String LIGHT_GREEN     = "\u001B[1;32m"
    static final String LIGHT_YELLOW    = "\u001B[1;33m"
    static final String LIGHT_BLUE      = "\u001B[1;34m"
    static final String LIGHT_PURPLE    = "\u001B[1;35m"
    static final String LIGHT_CYAN      = "\u001B[1;36m"

    static String color(String text, String ansiValue) {
        ansiValue + text + NORMAL
    }

}

【问题讨论】:

    标签: groovy jenkins-groovy


    【解决方案1】:

    您必须向 Jenkins 类路径提供您的类 Ansi。您可以使用 Ansi 类创建一个 jar 并将此 jar 复制到 Jenkins 类路径中,或者您必须在 Jenkins 中使用的每个 groovy 脚本中声明 Ansi 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 2013-01-21
      • 2011-04-23
      • 2012-03-04
      相关资源
      最近更新 更多