我有一个带有多个模块的gradle(Android)库,有些模块依赖于其他模块(与这里的答案非常相似)https://stackoverflow.com/a/41761846/906362)
root/
|- module1 -> (no dependncy)
|- module2 -> compile project(':module1')
|- module3 -> (no dependncy)
|- module4 -> compile project(':module1') compile project(':module3')
|- etc...
这对开发很有用,因为我可以对任何模块进行更改,并看到它们反映在其他模块上。但是要将构建发布到jcenter()
,我需要依赖项作为它们的在线版本。比如:
root/
|- module1 -> (no dependncy)
|- module2 -> compile '<group>:modules1:<version>'
|- module3 -> (no dependncy)
|- module4 -> compile '<group>:modules1:<version>' compile '<group>:modules3:<version>'
|- etc...
因此,当它被添加到项目中时,它正确地引用了在jcenter()
上找到的版本,而不是在使用编译项目(': module1')
时添加的UNSPECIFIED依赖项。
目前,我已发布到本地maven副本,将依赖项更改为使用编号版本,然后发布到jcenter()。但这是很多人工工作,对CI不起作用。
问题:
我该如何使这项工作更理智?
我的意思是,我如何使用本地机器上的代码/调试,但是使用正确的group: moder: version
生成POM。
编辑:要添加更多信息:
我在这里使用这个脚本https://github.com/sensorberg-dev/gradle-bintray-push/blob/master/gradle-bintray-push.gradle生成依赖和上传。
当前,编译项目
的依赖项生成如下:
<dependency>
<groupId>_name of the project_</groupId>
<artifactId>_name of the module_</artifactId>
<version>unspecified</version>
<scope>compile</scope>
</dependency>
我需要用项目的实际group和artifactId生成这些。
您应该使用编译项目(':module1')
进行module2构建。格雷德尔档案。
运行/gradlew clean-Pgroup=GROUPNAME-Pversion=VERSION uploadArchives
(或通过gradle.properties设置这些参数)
如果使用JitPack,它会自动执行此操作
我有一个基于java和kotlin的多模块gradle项目。我正在尝试设置声纳分析。我在根项目中配置了sonar,并用CircleCI进行了分析。sonarcloud中的结果仅适用于其中一个子项目。 我的项目结构如下: 项目A/构建。格拉德尔 项目B/构建。格拉德尔 ProjectC/build。格拉德尔 建造。格拉德尔 这是我的根构建。格雷德尔。
我在项目中有两个模块(和)运行集成测试。我希望在测试之前,我的应用程序将使用liquibase启动和滚动迁移,但由于我通过集成测试模块运行应用程序,liquibase正在寻找一个关于该模块的主文件,该文件导致了错误。因为主文件位于miom应用程序()的模块中
我试图在一个多模块的gradle项目中使用Springdoc,但我无法使它工作。有人做过类似的事情吗? 我的Gradle项目结构如下: My project 应用程序 与模块1相同 Application模块依赖于每个模块项目和 在API子模块上有:
https://docs.gradle.org/current/userguide/jacoco_plugin.html 并使用Gradle过滤JaCoCo覆盖报告 但没有发现任何线索 以下是gradle文件的内容 下面看我自己的答案
我有一个gradle android项目,有两个模块: 穿 在我的gradle配置中,我有不同的构建类型。默认设置(debug和release,每个都有自定义设置)以及dev和beta构建类型(也有自定义签名、自定义proguard和自定义applicationIdSuffix)。 我现在想做的是使用构建类型测试版(gradle清洁组件测试版)构建应用程序包。这就开始在测试版中构建应用程序,看到它
回到历史 我有这个android库,开发人员可以正常使用 现在我们正在从头开始重写库以创建V3。 在这个重组中,我们设法将lib分解成模块。所以可以说在V3上我们会有以下文物 这将为gradle结构提供以下模块: 对于其提供了一个,这样就可以使用模块中的所有内容,但实际上不需要在内部编译它。 但是我也想为现有的主机应用程序提供一个简单的迁移路径。意思是,我希望在V3上也有以下结合了和的工件(这基本