Java Web Start版 Groovy Console をちょっとだけ変えてみた

Java Web Start 版の Groovy Console はとっても便利だけど、スタンドアローン版でできることが できなかったのでちょっとだけ変更してみた。

変更点は以下…

  • AntBuilder が使えるように ant-1.8.1.jar, ant-launcher-1.8.1.jar を読み込むようにしてみた。
    tools.jar は読み込んでいないので javac とかはできないけど...
  • 起動時に ${user.home}/.groovy/lib/*.jar を読み込むようにしてみた。
    毎回 メニューから追加するのが面倒なので…

Groovy Console 起動用に追加したスクリプトはこんな感じ...

package com.bluepapa32.groovy

import groovy.ui.*;

class ConsoleLauncher {
    static void main(args) {
        Console.metaClass.constructor = { ClassLoader parent ->
            init(new Console(parent, new Binding()));
        }
        Console.main(args);
     }

    static Console init(Console console) {
        def home = System.properties["user.home"];
        def lib  = new File("${home}/.groovy/lib/");
        if (lib.exists()) {
            lib.eachFileMatch ~/.*\.jar/, {
                console.shell.classLoader.addURL(it.toURL());
            }
        }
        return console;
    }
}