小编Fur*_*mir的帖子

使用 Kotlin DSL 发布库

我想使用 Kotlin DSL 发布一个 Android 库。我有一些错误

val sourcesJar by tasks.registering(Jar::class) {
    archiveClassifier.set("sources")
    from(sourceSets.getByName("main").allSource) 
}

Run Code Online (Sandbox Code Playgroud)

未找到名称为“main”的 SourceSet。

publishing {
    publications {
        create<MavenPublication>("maven") {
            groupId = artifactGroup
            artifactId = artifactID
            version = artifactVersion

            from(components["java"])
            artifact(sourcesJar.get())

            pom {
                ...
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

找不到名称为“java”的 SoftwareComponentInternal。

这些块位于库模块中build.gradle.kts
摇篮版本:5.6.2

我该如何解决这些问题?

提前致谢。

更新

需要使用android源集。

val androidSourcesJar by tasks.registering(Jar::class) {
    archiveClassifier.set("sources")
    from(android.sourceSets.getByName("main").java.srcDirs)
}
Run Code Online (Sandbox Code Playgroud)

android publishing kotlin gradle-kotlin-dsl

5
推荐指数
1
解决办法
1056
查看次数

标签 统计

android ×1

gradle-kotlin-dsl ×1

kotlin ×1

publishing ×1