Is Gradles `jar` a method?

前端 未结 2 355
粉色の甜心
粉色の甜心 2021-01-24 02:34

I\'m using the Java Plugin in Gradle

apply plugin: \'java\'

I also configure the Jar-task using:

version = \'1.0\'
jar {
    ma         


        
2条回答
  •  醉梦人生
    2021-01-24 03:00

    The answer is yes and no. The syntax is syntactic sugar (although in this case it makes things confusing). It is not a function jar that is called, but the function tasks.getByName that gets the name and the closure as a parameter.

    On https://docs.gradle.org/current/userguide/more_about_tasks.html it says in part 17.3. Configuring tasks (Example 17.9. Configuring a task - with closure):

    This works for any task. Line 3 of the example is just a shortcut for the tasks.getByName() method. It is important to note that if you pass a closure to the getByName() method, this closure is applied to configure the task, not when the task executes.

    So you can also write:

    version = '1.0'
    tasks.getByName "jar", {
        manifest {
            attributes 'Implementation-Title': 'Gradle Quickstart',
                       'Implementation-Version': version
        }
    }
    

提交回复
热议问题