当前位置: 首页 > 知识库问答 >
问题:

访问Gradle中不同子项目的任务属性

罗学林
2023-03-14

为了提出这个问题,我有一个简单的子项目定义为:

project("data-source-config") {
  def projectName = "data-source-config"

  jar {
    baseName = "${projectName}_$scalaVersion"
    version = "$version"
  }

}

我真的希望能够在一个单独的子项目中引用完整的输出jar名称。

比如:

project("another-subproject") {
  def projectName = "another-subproject"

  println(:data-source-config:jar.getProperty("archiveName")) // I don't know the correct syntax
}

我可以在这里的文档中看到JAR任务具有archiveName属性:https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html#org.gradle.api.tasks.bundling.Jar:archiveFileName

任何指导都将不胜感激!

共有1个答案

舒俊雄
2023-03-14
project("another-subproject") {
  evaluationDependsOn ':data-source-config' 
  println project(':data-source-config').tasks['jar'].archiveName
}
 类似资料:
  • 我有一个这样的多项目构建 现在,在项目中,我已经为所有子项目声明了一个任务,如下所示: 当我运行时,我得到的输出类似于以下内容(其他内容): 现在,我尝试像这样为简单项目运行该任务 我得到的输出是: 失败:构建失败,但有一个异常。 > 哪里出错了:在项目中找不到任务你好:例子:简单项目。一些候选人是:帮助。 尝试:运行gradle任务以获取可用任务的列表。使用--stack跟踪选项来获取堆栈跟踪。

  • 我有以下多模块项目结构。 当我为/builder子项目运行任务时,我希望所有子项目都会执行任务(对于

  • 我面临以下问题。我有一个多模块的Gradle项目。一个模块是我的根项目,第二个模块是集成测试。 为了让我的集成测试运行,复制任务需要首先运行,以便将一些资产移动到项目根目录上的文件夹中。 我已经在我的根项目上定义了这样一个任务,当我试图调用它时,它什么也不做(我尝试了几种不同的调用方式)。 由于失败,我继续在子项目本身上创建了以下任务: 这是我的另一个任务。我的目标是让它将根项目类以及在下生成的j

  • 我有以下方式的多项目: > 根项目 子项目1 子项目2 不管是什么任务 我希望能够配置任务“任何”一次,并从任何范围(根或子项目)执行它,并且只执行一次! 这意味着: 如果我跑/读什么,我应该得到:“什么” 如果我运行 /subproject1/gradle任何东西,我应该得到:“任何东西” 总之,我不知道如何根据项目的数量来执行同一任务和多个任务。 我还没能得到这么简单的结果。如果你能提供任何帮

  • 在我的多项目中,我正在根项目上运行测试任务,并期望它将在子项目上运行测试任务并生成一个测试报告。我观察到的是,它从来没有在子项目上运行测试任务。我的期望是不正确的吗?“我需要在我的gradle脚本中进行任何特殊配置吗? 请注意,我的根项目中没有测试。

  • 我正在尝试使用Maven插件将我的Gradle项目转换为Maven。我遵循这个SO链接,但当我运行Gradle安装命令时,我得到了以下错误 当我执行时,它没有显示安装。在这种情况下该怎么办?