gradle buildscript "имя" переменная разрешение не работает - PullRequest
0 голосов
/ 21 марта 2020

Ниже приведено содержимое моего build.gradle

class Human {
    Integer age;
    String name;
    String surName;

    Human(name, age, surname) {
        this.name = name;
        this.age = age;
        this.surName = surname;
    }

    def executeInside(Closure c) {
        c.delegate = this
        c()
    }
}

def h1 = new Human("John", 43, "Smith");
def hc = {
    println "My name is ${name} and my age is ${age} and my surname is ${surName}"
}

h1.executeInside(hc)

hc.delegate = h1
hc()

При выполнении сценария у меня должно получиться My name is John and my age is 43 and my surname is Smith Но вместо этого я получаю My name is mygradlefoldername and my age is 43 and my surname is Smith

Если я запускаю это приведенный выше скрипт в groovyConsole, он работает правильно, но что происходит в этом скрипте сборки gradle, так что имя печатается неправильно?

1 Ответ

0 голосов
/ 21 марта 2020

Имя уже зарезервировано, и оно правильно указывает на каталог проекта: https://docs.gradle.org/current/userguide/writing_build_scripts.html enter image description here

Измените имя свойства в классе Human на что-то вроде firstName и это будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...