怎么理解gradle的这句话和其中一个语法

发布于 2022-09-01 20:43:35 字数 353 浏览 10 评论 0

最近在开始看gradle的知识。看到这样一句话"Gradle 是以 Groovy 语言为基础,基于DSL(领域特定语言)语法的自动化构建工具"。

不太理解这句话,我的质疑是:既然gradle以groovy语言为基础,那么可以推出gradle基于groovy语法的自动化构建工具。为什么是基于DSL语法呢?

还有一个语句的语法不太了解。网上也没找到答案。

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

活雷疯 2022-09-08 20:43:35

对的呀,你一般看到的类似你上面代码的文件,都是gradle的编译配置。简单的来说没有太多提现groovy以及程序流程的地方,所以一般人很难理解为什么一门语言是这个样子的(这也就是为什么说是DSL的原因)。

当然gradle还能写很多编译流程控制性的方法任务,不过一般在集成环境中都写好了,没有体现出来。

另外,上面代码中 jar 是一个对象,manifest是他的属性,并且也是个对象,然后含有attributes这个属性

诗化ㄋ丶相逢 2022-09-08 20:43:35

DSL是一种概念,不是某种具体的语言。

你这样理解吧,Gradle是一种专门用于项目构建的工具,其使用的构建脚本就是一种基于groovy的DSL。

你说的那个语法我觉得还是不要当成对象 和字段来理解:

因为gradle是构建工具,你当成【任务/任务配置】来

jar:生成jar包
manifest :jar包中的清单文件,告诉java虚拟机MainClass.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文