【问题标题】:How to cache gradle plugin dependencies?如何缓存 gradle 插件依赖项?
【发布时间】:2021-03-24 00:30:45
【问题描述】:

我有一个 gradle 脚本来使用 gradle 应用程序插件执行 Kotlin 代码:

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.4.10'
    id 'application'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation platform("org.jetbrains.kotlin:kotlin-bom")
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    // Some other deps
}

sourceSets {
    main.kotlin.srcDirs += '.'
}

application {
    mainClassName = 'MainKt'
}

我想要实现的目标: 在 docker 容器启动期间,我想使用 gradle build --build-cache 命令加载所有必要的依赖项,并能够在离线模式下运行 gradle run --offline图像已准备就绪。

我现在有什么:我收到No cached version of org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.4.10 available for offline mode. 错误,因为在build 阶段没有缓存插件依赖项。

有什么想法可以强制 gradle 不仅缓存列出的依赖项,还缓存插件所需的依赖项?

【问题讨论】:

    标签: kotlin gradle build.gradle


    【解决方案1】:

    将插件依赖项显式添加到依赖项列表帮助我解决了这个问题:

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
        implementation "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable" // <-- this solves the problem
        // Some other deps
    }
    

    我希望这个答案会有所帮助!虽然用例非常狭窄。

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 1970-01-01
      • 2021-10-05
      • 2016-03-13
      相关资源
      最近更新 更多