android build.gradle组用于什么?

时间:2015-07-15 19:14:12

标签: gradle android-gradle

检查build.gradle,项目本身有一个名为“group”的变量。在代码中,我继承了它的设置为应用程序ID但是用于什么组?

它所说的gradle documentation

  

void setGroup(Object group)   设置此项目的组。

更新:从here我可以看出,它看起来像是用于将任务分组在一起的组。

2 个答案:

答案 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}")
    }
}