从一堆Groovy类中创建发行版(一个普通脚本)

时间:2017-09-26 05:57:22

标签: gradle groovy abstract-syntax-tree

我有一个混合的devops环境:首先我使用Idea / Groovy和传统工具开发代码(junit用于测试,gradle用于普通分发)。我开发,测试等等;它有效。

对于某些专用运行时,我必须将所有groovy类打包成一个带有以下结构的普通* .groovy文件:

//here platform-specific imports
//it's constant-like list
import vendor.specific.dedicated.Vendor1
import vendor.specific.dedicated.Vendor2

//here my code-required imports which are needed for custom code
import groovy.json.JsonSlurper
//..etc

//here custom classes developed by mine
@PossibleAnnotation
class BusinessLogic { int foo(int a){a+1} }
class SomeUtil {def bar(a){foo(a as int)} }

//here list of target Script's entry points required for the runtime
Vendor2 doWork(Vendor1 vendor1) {
    new Vendor2( BusinessLogic.foo(vendor1.intField1) )
}

因此,对于输入,我列出了特定于供应商的导入和一些入口点。 对于输出,我必须创建Groovy格式良好的脚本。

这样做的合适方法是什么?

当然我可以手动解析我的* .groovy文件,但它很无聊。是AST还是自定义注释助手呢?

对我来说理想的工具是一些Gradle脚本。

0 个答案:

没有答案