build.gradle как применить замыкание из другого файла
У меня есть закрытие определено в другом файле build.gradle, который называется other.gradle. Вот содержимое:
Closure callback = {
productFlavors {
...
devel {
...
}
prod {
...
}
}
}
Теперь в моем файле build.gradle я хочу назвать это замыкание следующим образом:
apply from: 'other.gradle'
productFlavors(callback());
но я продолжаю получать сообщение об ошибке, что callback() не может быть найден. Оба файла находятся в одном каталоге. Моя проблема в том, как мне получить файл build.gradle, чтобы увидеть закрытие обратного вызова в файле "other.gradle".
1 ответ
Решение
Это должно быть сделано следующим образом:
other.gradle
project.ext.callback = { c ->
println(c)
}
build.gradle
apply from: 'other.gradle'
callback('a')
Или в тех же случаях callback
должны быть направлены через project.instance
например, project.callback('a')
,