库中的嵌套模块未显示源



我正在为我们在许多项目中重用的所有常见代码开发Android库。在库中,我有一个嵌套的文件结构,这样我可以更清楚地排列子模块。该项目可以在Github上找到,以更清楚地了解结构(https://github.com/appwise-labs/AndroidCore)

--| Core (library)
--| data
--| Networking (library)
--| Room (library)
--| customViews
--| CustomView1 (library)

一切都编译正确,我还可以将依赖项添加到项目中。但当我想检查依赖项的代码时,只有Core模块的sourceCode是可见的。我还可以验证Jitpack构建日志是否表明Core模块的sources.jar文件已经创建。

如果我将一个新模块添加到回购的根目录中,则该新模块的源是可见的。

我想知道我到底错过了什么。这是Gradle配置中的特定内容吗?

我通过向afterEvaluate添加额外的任务和部件来修复它

task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
groupId = 'com.github.appwise-labs'
artifact(sourceJar) // this thing!!
}
}
}
}

这确保了sources.jar是为子模块创建的,并在项目中使用依赖项时添加

最新更新