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