Gradle 从一堆Groovy类生成发行版(一个普通脚本)

Gradle 从一堆Groovy类生成发行版(一个普通脚本),gradle,groovy,abstract-syntax-tree,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.spec

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

cat boilderplate.groovy**/*.groovy>脚本.groovy
一个选项?一个选项,但首先我想提取所有导入并创建不同的导入。groovy不会在意这一点。你可以到处进行导入,多次导入也不重要。目标脚本不仅用于运行时,而且也适用于供应商端的其他程序员。它是
cat boilderplate.groovy**/*.groovy>script.groovy
一个选项?一个选项,但首先,我想提取所有导入并创建不同的导入,Groovy对此并不关心。你可以到处导入,多个导入也不重要。目标脚本不仅适用于运行时,也适用于供应商端的其他程序员。