У меня есть сложный скрипт Gradle, который включает в себя множество функций, связанных со сборкой и развертыванием ряда проектов netbeans в ряде сред.
Скрипт работает очень хорошо, но по сути он настраивается через полдюжины карт, содержащих информацию о проекте и среде.
Я хочу абстрагировать задачи в другом файле, чтобы я мог просто определить свои карты в простом файле сборки и импортировать задачи из другого файла. Таким образом, я могу использовать одни и те же основные задачи для нескольких проектов и настраивать эти проекты с помощью простого набора карт.
Может ли кто-нибудь сказать мне, как я могу импортировать один файл Gradle в другой аналогично задаче Ant? Я изучал документы Gradle до сих пор безрезультатно.
Дополнительная информация
После ответа Тома ниже я подумал, что постараюсь уточнить, что я имею в виду.
В основном у меня есть скрипт gradle, который запускает ряд подпроектов. Однако все подпроекты являются проектами Netbeans и поставляются со своими собственными сценариями сборки ant, поэтому у меня есть задачи в gradle для вызова каждого из них.
Моя проблема в том, что у меня есть некоторая конфигурация в верхней части файла, например:
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.