我有一个混合的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脚本。