Groovy синтаксис с Gradle: проект - PullRequest
1 голос
/ 21 января 2020

Я смотрю на файл Gradle, где вижу

implementation project(path: ':module_1')

или

implementation project(':module_2')

Я ожидаю, что они одинаковы, поскольку project определяется как Project project(String path). Я ошибаюсь? Если нет, то как Groovy может достичь вышеуказанного синтаксиса (без параметра path)?

Спасибо, Лоренцо

1 Ответ

2 голосов
/ 22 января 2020

1-й нет никакого способа записи

implementation project(path ':module_1')

Здесь : отсутствует:

implementation project(path:':module_1')

Теперь это правильный синтаксис groovy и означает, что здесь Map передается литерал (с пропущенными скобками). В bad'ol java вам нужно будет написать:

Map<String,String> map = new HashMap<>();
map.put( "path", ":module_1" );
implementation( project( map ) );

или, альтернативно, Groovy:

implementation project( [ path:':module_1' ] )

Методы project(String) и project(Map) кажутся идентичными, когда карта содержит только пару path.

См. раздел API-документов для получения дополнительной информации.

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