首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在groovy中打印色彩控制台

如何在groovy中打印色彩控制台
EN

Stack Overflow用户
提问于 2020-06-16 02:52:01
回答 1查看 1.3K关注 0票数 0

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

我不能使用这个函数,因为我得到下面的错误: groovy.lang.MissingPropertyException:没有这样的属性: out for class: groovy.lang.Binding at groovy.lang.Binding.getVariable(Binding.java:63) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:270)

代码语言:javascript
复制
// 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
    }

}
EN

回答 1

Stack Overflow用户

发布于 2020-06-16 15:58:47

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62394987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档