Как я могу импортировать один скрипт Gradle в другой?
У меня есть сложный сценарий gradle, который объединяет множество функциональных возможностей, связанных со сборкой и развертыванием нескольких проектов NetBeans в различных средах.
Скрипт работает очень хорошо, но по сути он настроен на полдюжины карт, содержащих информацию о проекте и среде.
Я хочу абстрагировать задачи в другой файл, чтобы я мог просто определить свои карты в простом файле компоновки и импортировать задачи из другого файла. Таким образом, я могу использовать одни и те же основные задачи для ряда проектов и настроить эти проекты с помощью простого набора карт.
Может кто-нибудь сказать мне, как я могу импортировать один файл Gradle в другой, аналогично задаче Ant? Я до сих пор безрезультатно тралял документы Грэдла.
Дополнительная информация
После того, как Том ответил ниже, я решил попытаться уточнить, что именно я имею в виду.
По сути, у меня есть скрипт gradle, который запускает несколько подпроектов. Тем не менее, все подпроекты являются проектами Netbeans и поставляются с собственными сценариями сборки Ant, поэтому у меня есть задачи для вызова каждого из них.
Моя проблема в том, что у меня есть некоторая конфигурация в верхней части файла, например:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
Затем я создаю такие задачи, как:
projects.each({
task "checkout_$it.shortname" << {
// Code to for example check module out from cvs using config from 'it'.
}
})
У меня есть много подобных фрагментов генерации задач, и все они являются общими - они полностью зависят от конфигурации в списке проектов.
Так что я хочу, чтобы это был способ поместить это в отдельный скрипт и импортировать его следующим образом:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
import("tasks.gradle") // This will import and run the script so that all tasks are generated for the projects given above.
Таким образом, в этом примере tasks.gradle будет иметь весь общий код генерации задач и будет запускаться для проектов, определенных в основном файле build.gradle. Таким образом, tasks.gradle - это файл, который может использоваться всеми крупными проектами, которые состоят из нескольких подпроектов с файлами сборки Netbeans ant.