Mam złożony skrypt Gradle, który zawiera mnóstwo funkcji związanych z budowaniem i wdrażaniem wielu projektów netbeans w wielu środowiskach.
Skrypt działa bardzo dobrze, ale w zasadzie wszystko jest konfigurowane za pomocą pół tuzina map zawierających informacje o projekcie i środowisku.
Chcę przenieść zadania do innego pliku, aby po prostu zdefiniować mapy w prostym pliku kompilacji i zaimportować zadania z innego pliku. W ten sposób mogę używać tych samych podstawowych zadań dla wielu projektów i konfigurować te projekty za pomocą prostego zestawu map.
Czy ktoś może mi powiedzieć, jak mogę zaimportować jeden plik gradle do innego, podobnie jak zadanie Anta? Jak dotąd bezskutecznie przeszukałem dokumenty Gradle'a.
Dodatkowe informacje
Po poniższej odpowiedzi Toma, pomyślałem, że spróbuję dokładnie wyjaśnić, co mam na myśli.
Zasadniczo mam skrypt gradle, który uruchamia wiele podprojektów. Jednak wszystkie podprojekty są projektami Netbeans i mają własne skrypty budowania mrówek, więc mam zadania w gradle, aby wywołać każdy z nich.
Mój problem polega na tym, że na górze pliku mam konfigurację, taką jak:
projects = [
[name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
[name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]
Następnie generuję zadania takie jak:
projects.each({
task "checkout_$it.shortname" << {
// Code to for example check module out from cvs using config from 'it'.
}
})
Mam wiele takich fragmentów generowania zadań, a wszystkie z nich są ogólne - całkowicie zależą od konfiguracji na liście projektów.
Chcę więc umieścić to w osobnym skrypcie i zaimportować w następujący sposób:
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.
W tym przykładzie tasks.gradle będzie zawierał cały ogólny kod generowania zadań i zostanie uruchomiony dla projektów zdefiniowanych w głównym pliku build.gradle. W ten sposób tasks.gradle jest plikiem, który może być używany we wszystkich dużych projektach, które składają się z wielu podprojektów z plikami kompilacji Netbeans i.