使用私有子模块发布到 MavenCentral

问题描述

我们的 Android 项目是一个 monorepo,包含几个应用模块,甚至更多的库模块。其他开发人员也应该可以访问其中一个库,因此我们决定将其部署在 MavenCentral 上。我们称它为图书馆 L。然而,这个库在 monorepo 中也包含对另一个模块的依赖(我们称之为模块 m)。为了测试其他开发人员是否正确访问了库 L,我们创建了一个演示 Android 项目。但是,当尝试包含发布库 L 的依赖项时,除了在演示 Android 项目中无法解析模块 m 之外,通常一切正常。

可以理解,模块 m 无法解析,因为它既不能在 MavenCentral 上使用,也不能作为 AAR 文件使用。我们无法在 MavenCentral 上发布模块 m,因为其他人不应获得它,但将其作为 AAR 文件包含在内也不起作用。终端抛出错误:

构建 AAR 时不支持直接本地 .aar 文件依赖项。生成的 AAR 将被破坏,因为来自任何本地 .aar 文件依赖项的类和 Android 资源不会打包在生成的 AAR 中。在这种情况下,以前版本的 Android Gradle 插件也会产生损坏的 AAR(尽管没有抛出此错误)。

那么问题来了 - 如何将包含无法公开的子模块的项目发布到像 mavenCentral 这样的存储库?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...