检查build.gradle,项目本身有一个名为“group”的变量。在代码中,我继承了它的设置为应用程序ID但是用于什么组?
它所说的gradle documentation:
void setGroup(Object group) 设置此项目的组。
更新:从here我可以看出,它看起来像是用于将任务分组在一起的组。
答案 0 :(得分:15)
该组实际上是一个名称空间,用于标识构建产生的工件或工件。例如,当你有这样的依赖:
dependencies {
compile 'org.hibernate:hibernate-core:3.6.7.Final'
}
org.hibernate
是组(或Maven用语中的 groupId )。因此,如果您的构建生成一个发布到存储库的JAR文件,它将在您在构建文件中指定的组下发布:
group = "org.example"
我不知道该小组是否在发布工件之外有了多大意义。我只将它用于JAR库。
答案 1 :(得分:0)
@Peter Ledbrook 对原始问题的回答是正确的。由于我无法编辑上面的答案,我将单独编写一个来回答 @Faraz 并提供一些额外的上下文。
以下是如何在任务本身中打印项目组的说明。
Group property 已分配给项目。因此,首先您必须从任务中访问 project instance。然后您访问项目的直接组属性。不要将它与 group property of the task 混淆,后者具有另一种语义,用于将 Gradle 属性分组到特定任务的类别中,以便于导航。
在任务本身中,您可以使用 Groovy 语法支持的简单 string interpolation 打印属性。
打印项目组属性的示例任务。
group 'com.rivancic.project.group'
task printProjectGroup {
doLast {
logger.info("Project group in which task is being executed: ${project.group}")
}
}