相关疑难解决方法(0)

Gradle7版本目录:如何与buildSrc一起使用?

我对正在孵化的 Gradle 版本目录感到非常兴奋,并且一直在尝试它。I\xe2\x80\x99ve 发现我的信息可以在我的应用程序和 utility-lib 项目的脚本gradle/libs.versions.toml中访问。build.gradle.kts

\n

但是,我无法使用该toml文件的内容buildSrc/build.gradle.kts约定文件

\n

我可以构建的唯一方法是将依赖项硬编码到这些文件中,就像我在版本目录功能之前所做的那样。

\n

在该buildSrc文件夹中,我创建了一个settings.gradle.kts文件并插入了 的dependencyResolutionManagement代码versionCatalogs,该代码指向与我的应用程序和 utility-lib 项目相同的文件。

\n

根据 Gradle7文档,似乎可以与 和 模块共享版本目录\xe2\x80\xa6 I\xe2\x80\x99d如果可能的buildSrc话,希望能够推动它与 一起工作。buildSrc

\n

这是一个简单的示例项目,我通过以下方式创建gradle initmy-version-catalog

\n

感谢您的时间和帮助,

\n

麦克风

\n

gradle build.gradle gradle-plugin gradle-kotlin-dsl

35
推荐指数
1
解决办法
1万
查看次数

在Gradle Kotlin DSL中包含脚本

我正在尝试在具有以下限制的项目中开始使用Gradle的Kotlin DSL:

  • 项目具有不同的模块(此外:有时这些模块使用不同的插件,但是如果两个项目使用相同的插件,则插件的版本相同)。
  • Project仅具有内部公司存储库(例如,我们不直接使用jcenter,而是使用代理)。

Groovy提供的功能:

  • 一些常见的配置项被排除在单独的脚本之外。请检查以下示例。
  • Gradle模块包括这些文件。

结果(仅基于我的示例):

  • 我们不需要在每个模块中添加相同的代码行。
  • 大多数项目仅在依赖项列表方面有所不同。

我尝试使用Gralde KTS复制相同内容,但遇到以下困难:

  • 我无法在包含文件中应用插件并在模块中使用它。在这种情况下,我会收到编译错误(因为未将插件类型添加到模块脚本中)。
  • 我无法将常量提取到在每个脚本(build.gradle.kts包括根)中使用它们的共同点。使用Groovy,我只能使用like之类的变量springBootVersion,但是使用Kotlin Script,我必须在每个模块文件中创建相同的属性。
  • 没有公共存储库访问权限,预编译的脚本插件将无法工作(例如,我无法以“仅使用默认的嵌入式Kotlin脚本版本,从这些URL下载所有依赖项:...”的方式配置公共脚本文件。

包含文件样本:

apply plugin: 'kotlin'

compileKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

compileTestKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
Run Code Online (Sandbox Code Playgroud)

Gradle模块样本:

apply from: "${rootDir}/gradle/include/kotlin-common-include.gradle"

dependencies {
    compile project(':my.project.libraries.common') 

    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion
}
Run Code Online (Sandbox Code Playgroud)

问题:

  • 我怎样才能将所有公共常量(例如依赖项版本)放到单独的文件中,以仅通过类似的方式springBootVersionConstants.springBootVersion通过编译时检查将它们包括在内?
  • 如何提取适用于包含脚本的插件(以避免Gradle模块脚本过载)?
  • 如何使用没有公共全局存储库访问权限的预编译脚本插件

附加链接:

java gradle kotlin gradle-kotlin-dsl

4
推荐指数
1
解决办法
1197
查看次数