GroovyConsole
    16   G*
id:kiy0taka @kiy0taka

JGGUG

Jenkins

  Terminal jQuery   MongoDB
Groovy


※
GroovyConsole
GroovyConsole


Groovy




AST
GroovyConsole

groovy.ui.Console

                    Groovy   1

groovy-all.jar

  Grape                ...
GroovyConsole

groovyConsole
java -jar groovy-all.jar groovy.ui.Console
groovy -e "new groovy.ui.Console().run()"
run()

  void run() {
     run(frameConsoleDelegates)
  }

  void run(Map defaults) {
     …
  }
frameConsoleDelegates
static def frameConsoleDelegates = [
    rootContainerDelegate: {
        …
    }
    menuBarDelegate: {arg->
        current.JMenuBar = build(arg)
    }
];
def myMenu = {
  menu(text:'JGGUG') {
    menuItem('Hello', actionPerformed: {
       JOptionPane.showMessageDialog(null, 'Hello!')
    })
  }
}
new Console().run(
   Console.frameConsoleDelegates <<
      [menuBarDelegate: {arg->
          current.JMenuBar = build(arg)
          current.JMenuBar.add(build(myMenu))
      }]
)
beforeExecution

afterExecution


   new Console(
      beforeExecution: { ... },
      afterExecution: { ... }
   )
GroovyConsole on Jenkins

  https://gist.github.com/843507

MoteConsole

  https://gist.github.com/1031115
Groovy

GROOVY_SOURCE_EXTENSIONS =
   ['*.groovy', '*.gvy', '*.gy', '*.gsh']

GroovyConsole