gpt4 book ai didi

Gradle 6.0 打破了源集依赖

转载 作者:行者123 更新时间:2023-12-03 05:27:45 27 4
gpt4 key购买 nike

我在这里为学生收集了一系列类(class):https://github.com/emign/engineEmi_Lektionen/tree/master

该项目的依赖库通过 gradle 插件在这里注入(inject):
https://github.com/emign/engineEmi_GradlePlugin/blob/98a70b6a54c21c730a9d1cb6e4fee9ac369b8fc6/src/main/kotlin/me/emig/engineEmi/gradle/EngineEmiGradlePlugin.kt#L43

enter image description here
enter image description here

在 gradle 5.6.4 之前,这一切都很好。但是当我升级包装器时,它会破坏并丢失上述库的源集。任何人都可以帮助我吗?

重现步骤:

  • 克隆仓库
  • 使用 gradle 包装器版本 5.6.4 -> 示例作品。 (源集依赖引擎EMI已集成)
  • 使用 gradle wrapper 6.0 或更高版本 -> 示例中断(缺少源集依赖 engineEmi)

  • 编辑
    忘记了错误信息:
     > Task :compileKotlinJvm FAILED

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/6.2.2/userguide/command_line_interface.html#sec:command_line_warnings
    1 actionable task: 1 executed
    e: /Users/username/dev/engineEmi/engineEmi_Template/src/commonMain/kotlin/Main.kt: (1, 8): Unresolved reference: me
    e: /Users/username/dev/engineEmi/engineEmi_Template/src/commonMain/kotlin/Main.kt: (16, 9): Unresolved reference: engine
    e: /Users/username/dev/engineEmi/engineEmi_Template/src/commonMain/kotlin/Main.kt: (21, 13): Unresolved reference: init
    e: /Users/username/dev/engineEmi/engineEmi_Template/src/commonMain/kotlin/Main.kt: (28, 13): Unresolved reference: viewWillLoad
    e: /Users/username/dev/engineEmi/engineEmi_Template/src/commonMain/kotlin/Main.kt: (35, 13): Unresolved reference: viewDidLoad
    e: /Users/username/dev/engineEmi/engineEmi_Template/src/commonMain/kotlin/Main.kt: (39, 13): Unresolved reference: start

    它只是找不到库(包)。切换回 5.6.4 让它再次找到 lib

    最佳答案

    最后我能够修复它。

    问题是我可以重现的两件事的组合:

    1. Kotlin 多平台发布

    You do NOT need to create the publications manually with kotlin multipatform: Compared to publishing a plain Kotlin/JVM or Java project, there is no need to create publications manually via the publishing { ... } (see here: 1)


    kotlin {} block 几乎可以为您做任何事情。您只需将发布到的存储库添加到 publishing {}堵塞。例如::
    publishing {
    publications {
    val kotlinMultiplatform by getting {
    repositories {
    maven {
    credentials {
    username = "USERNAME"
    password = System.getenv("bintrayApiKey")
    }
    url = uri(
    "https://api.bintray.com/maven/ORG/REPO/ARTIFACT/"

    )
    }
    }
    }
    }
    }

    2.发布的gradle任务

    不知何故,任务 publishAllPublicationsToMavenRepository对我不起作用。你真的需要使用 publish任务

    关于Gradle 6.0 打破了源集依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60595853/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com