什么是' jar'语法意味着?

时间:2016-08-11 14:00:32

标签: gradle

我最近开始学习Gradle和Groovy。我对build.gradle语法有一些疑问。

据我所知,基本上构建脚本文件使用groovy脚本。 例如,

task hello {
    println 'hi!'
}

此语法等于

task('hello', {-> println('hi!');});

那么,这个语法等于什么?

jar {// this part. i couldn't figure it out.
    manifest {
        attributes 'Title': 'something'
    }
    /* this will be
     * 
     * manifest(['Title': 'something']);
     */

    // blah blah
}

1 个答案:

答案 0 :(得分:1)

Java代码可能如下(请参阅Jar API DocsManifest API Docs

Jar jar = project.getTaskByName('jar')
jar.configure((Jar task) -> {
     task.manifest((Manifest manifest) -> {
         Map<String,Object> map = new HashMap<>();
         map.put('Title', 'something');
         manifest.attributes(map);
     });
});

一般来说,Groovy只是一种用于底层方法的语法糖。