让主java类评估groovy scipt
Binding binding = new Binding();
binding.setProperty("text", "some text");
CompilerConfiguration configuration = new CompilerConfiguration();
configuration.setScriptBaseClass(MyBaseClass.class.getName());
GroovyShell groovyShell = new GroovyShell(binding, configuration);
result = groovyShell.evaluate(file);
要在idea(和其他IDE)中使用自动完成groovy脚本,我使用gdsl文件
def ctx = context(scope: scriptScope())
contributor(ctx) {
property name: "text", type: "java.lang.String"
method name: 'annotate', type: 'void', params: [closure: 'groovy.lang.Closure']
}
但是我想要使用gdsl MyBaseClass来获取IDE提示并使用我所有的类方法自动完成。
答案 0 :(得分:0)
试试此代码
def ctx = context(scope: scriptScope())
contributor(ctx, {
delegatesTo(findClass('com.example.MyBaseClass'))
})