我有一个发布到maven的多平台kotlin库项目,并且一直在更新到kotlin 1.3多平台模型和kotlin-dsl
前面的groovy gradle脚本有一个modifyPom块,我在这里找到了一个示例。然而,只要我补充
val modifyPom : Closure<*> by ext
modifyPom(closureOf<MavenPom> {
// pom code in here
})
无论pom数据中有什么,我都会得到相同的结果,即modifyPom groovy闭包的调用用一个非常模糊的错误中断了构建:
Build file '<path>\build.gradle.kts' line: 47
Open File
换句话说,修改Pom groovy闭包调用的行号,但没有任何关于实际错误的信息。
我正在使用Gradle 5.0。感谢您的帮助。
通过将modifyPom的定义更改为
val modifyPom : Closure<MavenPom> by ext
这修复了发布时的原始问题,pom现在正在修改。如果有人需要帮助,请添加评论,希望我会注意到
所以-在Groovy中,我有一个配置POM的块,它工作得很好:
project.publishing.publications.forEach { publication ->
publication.pom.withXml {
def root = asNode()
root.appendNode("name", "libui")
root.appendNode("description", "Kotlin/Native interop to libui: a portable GUI library")
root.appendNode("url", POM_SCM_URL)
root.children().last() + {
licenses {
license {
name "MIT License"
url POM_SCM_URL
distribution "repo"
}
}
developers {
developer {
id "msink"
name "Mike Sinkovsky"
email "msink@permonline.ru"
}
}
scm {
url POM_SCM_URL
connection POM_SCM_CONNECTION
developerConnection POM_SCM_DEV_CONNECTION
}
}
}
}
以及如何将其转换为静态编程语言DSL?
编辑:嗯,在https://github.com/JetBrains/kotlin-native/issues/2372回答了在格雷尔科特林DSL它变成了:
project.publishing.publications.withType<MavenPublication>().forEach { publication ->
with(publication.pom) {
withXml {
val root = asNode()
root.appendNode("name", "libui")
root.appendNode("description", "Kotlin/Native interop to libui: a portable GUI library")
root.appendNode("url", POM_SCM_URL)
}
licenses {
license {
name.set("MIT License")
url.set(POM_SCM_URL)
distribution.set("repo")
}
}
developers {
developer {
id.set("msink")
name.set("Mike Sinkovsky")
email.set("msink@permonline.ru")
}
}
scm {
url.set(POM_SCM_URL)
connection.set(POM_SCM_CONNECTION)
developerConnection.set(POM_SCM_DEV_CONNECTION)
}
}
}
问题内容: 有人可以向我指出一些有关可用于Java的不同查询DSL库之间的性能比较的资源,例如: Querydsl , jOOQ , JEQUEL , activejdbc , iciql 等。 背景: 我正在使用Spring JDBC模板,但是仍然需要以纯字符串格式编写查询。尽管我在编写直接查询时没有问题,但是我担心直接依赖于数据库表名。我不想使用任何ORM框架,例如Hibernate或JPA
问题内容: 我对Jenkins和Job DSL插件很陌生。经过一些研究,我发现了如何使用DSL创建作业,现在我正尝试使用DSL删除作业。我知道使用以下代码禁用作业: 运行正常。但是,我找不到在詹金斯删除其他工作的任何方法。 请帮忙! 谢谢! 问题答案: Job Dsl插件的每个实例都跟踪它创建的作业(和视图)。再次运行该实例时,您可以配置它对该实例上次运行时存在但这次不存在的作业(和视图)的作用。
问题内容: 我创建了一个管道作业,并希望获得svn版本号,以在调用Shell脚本时启用进一步的下游处理。我正在使用类似于以下内容的管道脚本: 是否有有关结帐功能的文档?是否可以保留svn修订号?我可以看到修订已输出到日志。 问题答案: 我遇到了同样的问题,但是您可以使用调用SCM checkout 返回的映射来解决。它包含SVN_REVISION的值。
问题内容: 我在Jenkins管道中使用JSON函数并获取。我正在使用Jenkins 2.85。 任何想法如何解决这个问题? 问题答案: 使用管道实用程序步骤插件可以使用该功能。 没有此插件,您将无法使用此功能。 有关更多信息,请检查:步骤
问题内容: 我正在尝试使用job-dsl-plugin编写大量以前手动配置的Jenkins作业的配置脚本。 这些作业中的一种有多个步骤,其中包括几个使用XShell插件的步骤,job-dsl不直接支持此步骤。但是,我应该能够通过使用自定义的“配置”块来解决该问题。 使用http://job-dsl.herokuapp.com/上的“ Job DSL游乐场”,我已经了解到: 如果仅仅包含第一个con
问题内容: 我正在尝试为詹金斯创建我的第一个Groovy脚本: 在这里查看https://jenkins.io/doc/book/pipeline/之后,我创建了这个: 但是,我得到: 我想念什么? 另外,如何在不以纯文本形式编写密码的情况下将我的凭据传递到Git存储库? 问题答案: 你感到困惑和混合使用,完全的差异在这里看到。但简短的故事: 声明性管道 是管道DSL的新扩展(基本上是只有一步的管
问题内容: 例如: 我会得到: 因此,显然我得到的是退出代码,而不是标准输出。是否有可能将stdout捕获到管道变量中,这样我就可以得到: 作为结果? 问题答案: 现在,该步骤通过提供参数来支持返回 stdout。 请参阅此示例。
问题内容: 我想在管道Jenkins作业中获取最后的构建输出,并附加到电子邮件中(使用emailext插件)。卷毛工作正常,并提供适当的构建输出,但我不能存储在变量中以附加到电子邮件中。我正在使用最新的詹金斯版本。 我可以看到有几个简单的sh命令的相关文章,但不适用于curl响应存储。 1。 2。 3。 问题答案: 看起来您缺少内部数组和一些双引号,并且在运行脚本时转义了双引号: 另外,有多种方法