开发者社区 问答 正文

关于gradle语法问题

最近在开始看gradle的知识。看到这样一句话"Gradle 是以 Groovy 语言为基础,基于DSL(领域特定语言)语法的自动化构建工具"。
不太理解这句话,我的质疑是:既然gradle以groovy语言为基础,那么可以推出gradle基于groovy语法的自动化构建工具。为什么是基于DSL语法呢?
还有一个语句的语法不太了解。网上也没找到答案。

jar {
    manifest {
        attributes 'Main-Class': 'HelloWorld'
    }   
}

这段代码的语法该怎么理解呢,jar是一个类的对象吗?manifest是jar的字段吗?

展开
收起
蛮大人123 2016-03-05 17:32:06 3373 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    你一般看到的类似你上面代码的文件,都是gradle的编译配置。简单的来说没有太多提现groovy以及程序流程的地方,所以一般人很难理解为什么一门语言是这个样子的(这也就是为什么说是DSL的原因)。
    当然gradle还能写很多编译流程控制性的方法任务,不过一般在集成环境中都写好了,没有体现出来。
    另外,上面代码中 jar 是一个对象,manifest是他的属性,并且也是个对象,然后含有attributes这个属性

    2019-07-17 18:53:51
    赞同 展开评论
问答分类:
问答标签:
问答地址: