7
votes

Pourquoi les citations peuvent-elles être laissées de côté dans les noms des tâches des grades?

Je ne comprends pas pourquoi nous n'avons pas besoin d'ajouter des citations au nom de la tâche des grades lorsque nous le déclarons Comme: xxx

J'ai essayé dans un projet groovy et j'ai constaté qu'il est illégal, comment la gradle le fait fonctionner. Et je ne comprends pas l'expression ci-dessus ni, pourquoi nous pouvons ajouter (type: Defaulttask) , comment pouvons-nous l'analyser avec Groovy Grammar?


3 Réponses :



3
votes

À titre d'exemple dans une formulaire runnable grooVyconsole, vous pouvez définir un peu de code ainsi: xxx

donc lorsque le script en bas est exécuté, il imprime Hello TIM < / Code> à STDOUT

Mais la réponse de David est la bonne, ceci est juste par exemple

Voir également ici dans la documentation de Groovy


0 commentaires

0
votes

Voici le code qui rend la magie possible et légale.

// DSL class - Gradle Task
class Task {

    def name;
}

// DSL class - Gradle Project
class Project {

    List<Task> tasks = [];


    def methodMissing(String name, def args) {
        if(name == "task"){
            Task t = new Task(name:args[0])
            tasks << t
        }
    }

    def propertyMissing(String name) {
        name
    }
}

// gradle build script
def buildScript = {

    task myTask

    println tasks[0].name

}

buildScript.delegate = new Project()

// calling the script will print out "myTask"

buildScript()


0 commentaires