作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含不同库模块的 android 项目。我定义了一个将工件上传到 Maven 存储库的任务。当我直接在 build.gradle
中定义它时它可以工作的模块。我想做的是在 parent build.gradle
中定义一次任务并在每个模块中重用它。
我按照指南 here编写以下构建配置:
我的项目设置是这样的:
parent_project
|- module1
|- module2
|- module3
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/
我是一名优秀的程序员,十分优秀!