Tag: gradle这个 Kotlin DSL

Gradle脚本Kotlin中的锅炉项目配置

我正在尝试改进我们的项目共享他们的配置的方式。 我们有许多不同的多模块gradle项目,用于我们的所有库和微服务(即许多git仓库)。 我的主要目标是: 为了不让我的Nexus存储库配置在每个项目中都重复(另外,我可以放心地认为URL不会改变) 为了使我的自定义Gradle插件(发布到Nexus)可用于每个项目,最小的样板/重复(他们应该可用于每个项目,该项目唯一关心的是它使用的版本) 没有魔法 – 开发人员应该很明白怎样配置一切 我目前的解决方案是一个定制的gradle分发与初始化脚本: 将mavenLocal()和我们的Nexus存储库添加到项目回购(非常类似于Gradle 初始化脚本文档示例 ,除了添加回购以及validation它们) 配置允许我们的gradle插件添加到buildscript类路径的扩展(使用此解决方法 )。 它还将我们的Nexus回购作为buildscript回购添加,因为这是插件托管的地方。 我们有很多插件(建立在Netflix优秀的星云插件上 ),用于各种样板:标准项目设置(kotlin设置,测试设置等),发布,发布,文档等等,这意味着我们的项目build.gradle文件非常多只是为了依赖。 这里是初始化脚本(消毒): /** * Gradle extension applied to all projects to allow automatic configuration of Corporate plugins. */ class CorporatePlugins { public static final String NEXUS_URL = “https://example.com/repository/maven-public” public static final String CORPORATE_PLUGINS = “com.example:corporate-gradle-plugins” def buildscript CorporatePlugins(buildscript) { […]

如何在Gradle Kotlin构建中配置processResources任务

我有一个基于groovy的构建脚本中的以下内容。 如何在基于kotlin的脚本中执行相同的操作? processResources { filesMatching(‘application.properties’){ expand(project.properties) } }

使用gradle-script-kotlin的ant任务

我如何从我的build.gradle.kts脚本访问ant任务? 特别是,我对ant.patch任务感兴趣。 我可以像这样扩展它吗? task(“patchSources”, Patch::class) { 我可以从其他任务调用它,像这样吗? task(“patchSources”) { doLast { ant.patch(…) } } 我知道如何在Groovy中做到这一点: 如何在Gradle中应用补丁文件?

Kotlin JS项目的基本Gradle脚本Kotlin文件是什么样的?

我正在尝试使用Kotlin-DSL在Kotlin中编写一个Gradle构建脚本。 到目前为止,我已经看到了关于如何为Java项目完成的例子。 然而,因为我正在Kotlin开发一个React Native应用程序,所以没有任何教程可以用来制作Kotlin / JavaScript项目。 那么为了这个目的,一个基本的 Gradle脚本Kotlin文件是什么样的?

如何将ext。*variables转换为build.gradle.kts中的插件块

我的构建文件如下所示: val nexusBaseUri: String by extra val gradle_version: String by extra val kotlin_version: String by extra buildscript { val nexusBaseUri by extra { “https://mynexusserver/nexus” } val gradle_version by extra { “4.1” } val kotlin_version by extra { “1.1.4-3” } val springBoot_version by extra { “2.0.0.M3” } repositories { maven { url = uri(“$nexusBaseUri/repository/public”) } jcenter() […]

你如何更改IntelliJ默认的Gradle包装和构建文件?

我正在尝试从所有的IntelliJ / Kotlin项目切换到Grailla Kotlin DSL从香草Gradle。 这需要我在构建文件的Gradle包装器任务中指定distributionUrl属性。 然而每当我创建一个Gradle项目并选择“默认的Gradle包装”选项时,IntelliJ会自动生成一个vanilla Gradle版本4.0(至少现在)包装并使用它构建项目。 这不仅会在我的机器上安装一个未使用的Gradle发行版,而且使我手动重新创建构建文件和包装器,而且Gradle 4.0也不兼容Java 9。 有什么方法可以改变什么默认的Gradle包装/构建文件由IntelliJ生成,因为我看到在Gradle插件的设置选项卡中没有包assembly置选项?

如何覆盖gradle kotlin-dsl中的任务

在Groovy中,我覆盖了这样一个任务: task jar(overwrite: true) { … } 我如何用Kotlin-dsl来做到这一点? 我知道我可以创建一个这样的任务: tasks { val jar by creating { … } } 但是我无法find将其声明为覆盖的等效方法,这会导致错误

在Kotlin DSL中如何设置gradle额外属性?

我试图组织我的构建文件,因为我会在groovy,通过在一个单独的文件重用值。 但我不明白在kotlin DSL中做同样的事情的语法。 以下是我在root build.gradle.kts中使用的内容: applyFrom(“config.gradle.kts”) buildscript { repositories { google() jcenter() } dependencies { val test = project.extra[“minSdkVer”] classpath(“com.android.tools.build:gradle:3.0.0-alpha4”) classpath(“org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-5”) // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() mavenCentral() } } 这是什么在config.gradle.kts被引用: mapOf( Pair(“minSdkVer”, 22), Pair(“targetSdkVer”, […]

如何使用Kotlin DSL配置AppEngine Gradle插件

正如https://cloud.google.com/appengine/docs/standard/java/tools/gradle-reference中所述,AppEngine Gradle插件提供的配置如下所示: appengine { // App Engine tasks configuration run { // local (dev_appserver) configuration (standard environments only) port = 8080 // default } deploy { // deploy configuration stopPreviousVersion = true // default – stop the current version promote = true // default – & make this the current version } } 如何使用build.gradlke.kts这样的配置看起来像? 我正在查看AppEngine任务,但不明白将此连接到适当的Kotlin […]

如何用gradle kotlin-dsl添加新的源代码集

我想添加一个源代码src/gen/java 。 随着groovy这很容易,并已在https://discuss.gradle.org/t/how-to-use-gradle-with-generated-sources/9401/5 sourceSets { gen { java.srcDir “src/gen/java” } } 但是我坚持用kotlin-dsl来添加一个新的。 我得到的是: java { sourceSets { } } 任何人都可以在这里帮助