Gradle 6.0打破了源集依赖关系

Gradle 6.0打破了源集依赖关系,gradle,Gradle,我在这里为学生们收集了一些课程: 此项目的从属库通过gradle插件注入,如下所示: 在gradle 5.6.4之前,一切都很好。但是当我升级包装器时,它会损坏并丢失上述库的源代码集。有人能帮我吗 复制步骤: 克隆回购 使用gradle包装器版本5.6.4->Example works。(集成了源集依赖项engineEmi) 使用gradle包装器版本6.0或更高版本->示例中断(缺少源集依赖项engineEmi) 编辑 忘记了错误消息: > Task :compileKotlin

我在这里为学生们收集了一些课程:

此项目的从属库通过gradle插件注入,如下所示:

在gradle 5.6.4之前,一切都很好。但是当我升级包装器时,它会损坏并丢失上述库的源代码集。有人能帮我吗

复制步骤:

  • 克隆回购
  • 使用gradle包装器版本5.6.4->Example works。(集成了源集依赖项engineEmi)
  • 使用gradle包装器版本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让它再次找到库

    最终我能够修复它

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

    1。Kotlin多平台发布

    您不需要使用kotlin手动创建发布 multipatform:与发布普通Kotlin/JVM或Java相比 项目中,无需通过手动创建发布 发布{…}(请参见此处:)

    kotlin{}
    块几乎可以为您做任何事情。您只需在
    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。用于发布的渐变任务


    不知何故,PublishallPublicationToVenRepository任务对我来说不起作用。你真的需要使用
    发布
    任务

    你能添加你看到的错误,这样我们就不必运行它来帮助你吗?我添加了一些屏幕截图来进一步说明