我们可以将 gradle.kts 用于除 build.gradle.kts 之外的文件吗

问题描述 投票:0回答:1

我有一个用 groovypublish.gradle 编写的自定义发布文件,我想将其迁移到publish.gradle.kts 文件, 例如,问题似乎应用插件无法在除 build.gradle.kts 之外的任何文件中工作

publish.gradle.kts

apply(plugin ="maven-publish")
apply(plugin ="com.jfrog.artifactory")
artifactory{ .....
....

即使添加 jfrog 插件后,我也无法访问此文件中的artifactory 方法,这可能吗?我遗漏了一些东西?

android gradle gradle-kotlin-dsl
1个回答
0
投票

在 Kotlin 中实现的方法是编写一个 预编译脚本插件

Kotlin 脚本需要更多设置,因为它是静态类型的 - 编译器需要知道编译时可用的类型。

最简单的设置方法是使用

buildSrc
文件夹:

  1. 将脚本写入文件中,例如

    publish.gradle.kts
    buildSrc/src/main/kotlin

  2. build.gradle.kts
    文件夹中添加一个
    buildSrc
    文件(是的,脚本本身需要构建)并至少放置以下内容:

    plugins {
        `kotlin-dsl`
    }
    

    Kotlin DSL 插件会查找 Kotlin 脚本插件并将它们放在构建类路径中。您的脚本需要的任何其他类型(包括外部插件 JAR)都需要在此处提供。

  3. 现在您可以在主项目构建文件中应用您的插件:

    plugins {
        publish
    }
    
© www.soinside.com 2019 - 2024. All rights reserved.