问题标签 [kotlin-dsl]

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.

0 投票
1 回答
70 浏览

kotlin - Kotlin DSL 中的中缀函数在父上下文中没有 this 关键字时不起作用

我正在编写一个示例 DSL 来创建一个基础设施即代码库。基本结构如下:

我认为 showMessage 中缀函数应该在 Employee 上下文中作为其他中缀工作,但我需要使用this它来使其作为中缀工作。函数调用在没有 this 的上下文中运行良好。这是与 DSL 一起使用时中缀函数的行为还是我错过了什么?

0 投票
0 回答
30 浏览

teamcity - 是否可以在 Kotlin DSL 中仅定义构建步骤?

我想知道是否可以settings.kts通过 TeamCity 中的 UI 仅定义构建步骤并定义诸如 VCS 根之类的东西?或者使用 Kotlin DSL 意味着您必须在 DSL 或 UI 中定义所有内容?

0 投票
1 回答
60 浏览

kotlin - 这是哪个kotlin语言功能

我正在学习 kotlin DSL,特别是 Teamcity,我看到了一个我还不太了解的初始化模式

Kotlin 游乐场链接

这是代码

具体来说,问题是关于如何CustomStep初始化类。它采用 lambdaCustomStep 作为接收者(这是正确的术语吗?)。

然后我调用init()构造函数,它根据传入的块初始化新创建CustomStep的块。

我不确定初始化是如何工作的。或者更确切地说,这里使用了哪种特定的 Kotlin 语言功能。

如果我改用以下方式编写它,这有什么不同?

谢谢

0 投票
0 回答
59 浏览

android - Gradle:在 Kotlin DSL 中使用 ext 函数

我有一个函数properties.gradle,我将该函数用作 ext 函数。我想concat在 kotlin dsl 脚本中使用相同的 ext 函数buildSrc,但出现以下错误:

Unresolved reference: concat.

properties.gradle文件:

buildSrc/Libs.kt

0 投票
0 回答
190 浏览

kotlin - 如何从 TeamCity kotlin DSL 的脚本步骤为 kotlin 变量赋值?

我在 TeamCity 的 Kotlin DSL 中有几个脚本步骤。例如,这里我更新了在以前的 buildTypes 中更改的参数。

然后我有另一个脚本步骤,它运行带有 extraVars 的 ansible-playbook。我想将 JSON 从 extraVars 移动到 Kotlin 集合,但是,为此,我想使用 Kotlin 变量而不是 TeamCity 参数。我可以这样分配

但是我怎样才能在脚本块中更新这个参数的值呢?例如,我有这部分管道。

curl 运行后如何将 TEMP_VAR 的值设置为 myVar?

0 投票
0 回答
147 浏览

kotlin - 如何在 TeamCity Kotlin DSL 的顺序构建链中将 onDependencyFailure 添加到所有构建类型

https://www.jetbrains.com/help/teamcity/kotlin-dsl.html#Build+Chain+DSL+Extension 这里有一个示例,说明如何声明构建类型并将 onDependencyFailure 添加到并行运行中。

在下一个片段中,他们的代码就像我一样

如何将 onDependencyFailure 添加到迭代对象 buildChain 中的所有依赖项。奇怪的是,当 prev buildtypes 失败时,依赖项仍然尝试运行。(TeamCity Enterprise 2021.1.1(内部版本 92714))

0 投票
1 回答
203 浏览

kotlin - 如何在 Kotlin DSL 的子项目中重用依赖版本?

我有一个使用 Kotlin DSL 作为构建文件的多模块 Gradle 项目。在根内部有根build.gradle.kts部分dependenciessubprojects它自己的部分dependencies。我想创建一个变量,它可以保留某些依赖项的版本并在build.gradle.kts.

build.gradle.kts看起来像:

子模块common-module/build.gradle.kts

我想声明一个变量并将这些依赖项的版本分配为一个值,并且只在模块上重用它。类似的东西 implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:${jacksonVersion}")

我怎样才能做到这一点?

0 投票
0 回答
21 浏览

kotlin - 如何使用 Kotlin DSL 调用来自另一个参数的 Gradle 任务?

我想run从定义的另一个任务中调用需要参数的默认任务build.gradle.kts。我可以run从另一个任务调用,但我不知道如何传递参数。

0 投票
0 回答
393 浏览

android - 如何在 build.gralde.kts 中应用插件 id("com.android.application")?

这是我将插件添加到 Build.gradle.kts 的应用程序代码

应用pugin id的代码是否正确。我收到此代码错误。这是错误:

line: 19 Plugin [id: 'com.android.application', version: '7.0.2'] 在以下任何来源中均未找到:

以下来源:

请帮我解决这个问题以在 build.gralde.kts 中应用插件 id("com.android.application")

0 投票
0 回答
164 浏览

android - 警告:不支持的 Kotlin 插件版本

embedded-kotlinkotlin-dsl插件依赖于 Kotlin 的功能,这些功能1.4.31可能与请求的版本不同1.5.21

如何设置embedded-kotlinkotlin-dsl版本 1.5.21 ?