我想在我的 gradle 构建脚本中从 groovy 迁移到 kotlin dsl。我在项目中有 2 个脚本: build.gradle 和 publish-maven.gradle 附加在第一个脚本中。
对于 groovy 我应用脚本所以:
apply from: "${rootProject.projectDir}/publish-maven.gradle"
Run Code Online (Sandbox Code Playgroud)
对于 kotlin,我发现相同的代码如下所示:
apply(from = "publish-maven.gradle.kts")
Run Code Online (Sandbox Code Playgroud)
但是 publish-maven.gradle.kts 不附加到 build.gradle.kts。在IDE中的脚本顶部不断挂起警告:
代码洞察不可用(上次 Gradle 项目导入期间未收到此脚本的配置)
并且无法识别 kotlin 语法。
我也试试
apply(from = "${rootProject.projectDir}/publish-maven.gradle.kts")
Run Code Online (Sandbox Code Playgroud)
或者找到了其他例子,但没有一个有帮助。
我该怎么做才能应用这个脚本?或者一般问题是如何将构建脚本拆分为多个文件?
摇篮版本:6.7;JDK:1.8;IDE:IntellijIdea
Intellij Idea在camel路由中格式化代码,如下所示:
from("direct:loop")
.log("Loop: ${header[loopCount]}")
.choice()
.when(simple("header[loopCount] < 10"))
.process(exchange -> {
Message in = exchange.getIn();
in.setHeader("loopCount", in.getHeader("loopCount", Integer.class) + 1);
})
.to("direct:loop")
.otherwise()
.log("Exiting loop")
.end();
Run Code Online (Sandbox Code Playgroud)
是否有任何插件或其他方法可以这样做:
from("direct:loop")
.log("Loop: ${header[loopCount]}")
.choice()
.when(simple("header[loopCount] < 10"))
.process(exchange -> {
Message in = exchange.getIn();
in.setHeader("loopCount", in.getHeader("loopCount", Integer.class) + 1);
})
.to("direct:loop")
.otherwise()
.log("Exiting loop")
.end();
Run Code Online (Sandbox Code Playgroud)
?