问题标签 [groovydsl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
groovy - 用于静态方法的 IntelliJ GroovyDSL
我正在为 IntelliJ 使用 GroovyDSL,我想描述一个静态方法,它返回同一类的实例。这是一种方法,例如:
据我了解,我应该使用上下文ctype
for java.lang.Class
。但我不知道如何指定返回类型,目前我将其指定为java.lang.Object
:
问题:如何设置type
为实际的类名?不是“对象”,而是“我的实体”
PS 有没有关于 GroovyDSL 的文档,JavaDoc 描述contributor
?
groovy - 如何在 Groovy-Eclipse DSL 中定义方法
我正在利用 groovy-eclipse 插件开发一种语言。我可以成功定义一个属性。但是,即使是简单的方法,我也不能这样做。可能我在所有中心都遗漏了一些非常简单的东西......
- 我不能定义一个委托给简单闭包的方法吗?
- 类型属性在方法切入点中定义什么?
以下是我的 groovy dsl 文件中的唯一贡献块;
这是一个简单的缺陷还是我需要改变我的观点?
java - IntelliJ + groovy DSL:如何排除文件被 groovy 插件编译?
我正在开发一个使用 Liquibase groovy DSL 来管理数据库更改的 Java Web 项目。就本主题而言,它可以是使用*.groovy
文件作为源的任何其他 3rd 方库。该项目是用 gradle 构建的。在我的文件夹下的一个模块(dao-base
)中,src/main/resources
我有 groovy 文件(changelog01.groovy, master_changelog.groovy
等)。这些文件应该由 liquibase jar 在运行时加载。
现在,当我尝试在 IntelliJ 中创建项目时,它会给出以下错误消息:
Groovyc:无法编译 Groovy 文件:没有为模块“dao-base”定义 Groovy 库。
我知道 groovy 插件检测*.groovy
文件,尝试编译它们并且不出所料地失败。这些是 groovy DSL 文件,只能由 3rd 方 liquibase 解析器加载,我不需要 IntelliJ 的 groovy 插件来尝试编译它们。
我设法提出了 2 个部分解决方案: 1. 在 intellij 中禁用 groovy 插件。此解决方案的问题在于 gradle 插件依赖于 groovy 插件,因此在禁用 groovy 插件时会自动禁用。我需要启用 gradle 插件。src/main/resources
2.在项目设置-->模块--> dao-base
(我的模块)-->源选项卡中排除文件夹。这个解决方案的问题是,当我构建项目并部署到 tomcat 时,资源文件夹中的文件丢失了,并且由于运行时需要其中的文件,所以当战争加载时我得到文件未找到异常。
我希望有人可以为这个问题提出更好的解决方案。
groovy - 在 IntelliJ 的 Groovy 单元测试中摆脱导入
是否可以摆脱用 Groovy 编写的 JUnit 测试中的 import 语句?我知道您可以通过更改编译器配置或导入定制器在 GroovyShell 中的 groovy 脚本中做到这一点。
我喜欢做同样的事情,但是:
- IntelliJ 仍应提供代码突出显示和自动完成功能(我想我可以使用 IntelliJ 的 gdsl 文件功能来做到这一点)
- 我仍然可以使用 IntelliJ 的 JUnit 窗口来查看哪些测试失败了,哪些测试通过了。
groovy - 如何在 Groovy MarkupBuilder 中动态注入子节点?
我正在尝试使用 Groovy MarkupBuilder 来动态创建我的自定义 XML 结构,如下所示。
虽然我得到了它使用下面的代码,但我想将代码的“有效负载”部分动态地注入到一个单独的类中,其中“构建器”作为方法参数传入。
println writer.toString()
intellij-idea - 使用 GroovyDSL 将方法添加到分配的闭包
Geb 使用一个静态字段content
来定义页面或模块的内容。该content
字段的值是一个闭包。
Intellij 已经支持此内容 dsl,但是它不支持module
andmoduleList
方法。这会在使用模块时导致有限的自动完成支持。
为了解决这个问题,我想编写一个 GroovyDSL 脚本,将缺少的方法定义添加到内容闭包及其嵌套闭包中。但是,我不知道如何将方法添加到未传递给方法的闭包中,因为enclosingCall
需要具体的方法名称。
另一件事是这些方法必须具有这样的通用返回类型:
groovy - 如果使用@DelegatesTo 注释,如何将参数传递给闭包?
如果我在这里更改Groovy DSL Doc中的代码。
在电子邮件中添加一些字符串“hello world”,就像这样
和改变
那么,如何修改类 EmailSpec 以获取字符串 'hello world' ?
groovy - 带有 IDE 支持的 Groovy DSL
我需要一个 DSL,它具有一些已知的结构和很多仅在运行时结构中已知的结构。
例如:
在上面的代码片段中,关键字test
, create
,GET
等delete
在 DSL/工具的开发过程中是已知的。但是,当用户在create
. 我想下载一些模式文件(相反,我会下载模式作为我处理的第一步并缓存模式)并提供实体,其中用户是实体之一。当用户为属性调用内容辅助时,我再次查看实体定义和提供fn
等ln
作为可能的条目。
这对 Groovy 和 GDSL 可行吗?谢谢你
grails - 如何使用任意 Map(动态对象)创建 DSL Groovy 配置文件
如何将任意 Groovy 映射/列表转换为 Groovy 提供的配置样式 DSL 语法?
例子:
类似于:
更新:
- 重新占用这篇文章以明确要求动态/通用解决方案。
- 这使它成为一个独特的问题,与以下假设在其初始化状态下的已知映射不同:如何在 Grails 中仅使用嵌套映射来创建 ConfigObject?
groovy - Groovy Closure 重用与再水化副本
在groovy 的 DSL 页面中,他们显示了这个
他们为什么打电话rehydrate
而不是仅仅将委托分配给闭包:
换句话说,为什么我们需要一个闭包的副本而不是重用给定的闭包。我不一定认为使用补水有问题,但我也没有看到需要,这告诉我有些东西我不理解