gpt4 book ai didi

gradle - 如何为多个子模块定义 gradle 任务?

转载 作者:行者123 更新时间:2023-12-03 06:02:30 35 4
gpt4 key购买 nike

我有一个包含不同库模块的 android 项目。我定义了一个将工件上传到 Maven 存储库的任务。当我直接在 build.gradle 中定义它时它可以工作的模块。我想做的是在 parent build.gradle中定义一次任务并在每个模块中重用它。

我按照指南 here编写以下构建配置:

我的项目设置是这样的:

parent_project
|- module1
|- module2
|- module3

父/build.gradle,默认
subprojects {    
task installToLocalMaven(type: Upload) {
description "Installs artifacts to local Maven repository"
configuration = configurations['archives']
repositories {
mavenDeployer {
pom.groupId = commonGroupId
pom.artifactId = artifactId
pom.version = gitBranch() + '-' + android.defaultConfig.versionName
if (android.defaultConfig.versionName.endsWith("-SNAPSHOT")) {
snapshotRepository(url: repositories.mavenLocal().url)
} else {
repository(url: repositories.mavenLocal().url)
}
}
}
}
}

project(':module1') {
ext.artifactId = "module1"
}
...

执行 gradlew :module1:installToLocalMaven导致此错误 Configuration with name 'archives' not found.
我假设使用了父项目中的配置对象。

如何确保子模块的配置对象在父模块中使用 build.gradle ?

最佳答案

您可以使用任务的project属性(property)。只需添加 task.project.在您尝试访问的子项目对象之前,如下所示:

configuration = task.project.configurations['archives']

关于gradle - 如何为多个子模块定义 gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40725469/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com