Como posso importar um script Gradle para outro?

Eu tenho um script gradle complexo que envolve uma grande quantidade de funcionalidades em torno da criação e implantação de vários projetos do netbeans em vários ambientes.

O script funciona muito bem, mas, em essência, tudo é configurado através de meia dúzia de mapas contendo informações do projeto e do ambiente.

Quero abstrair as tarefas para outro arquivo, para que eu possa definir meus mapas em um arquivo de compilação simples e importar as tarefas do outro arquivo. Dessa maneira, posso usar as mesmas tarefas principais para vários projetos e configurá-los com um conjunto simples de mapas.

Alguém pode me dizer como posso importar um arquivo gradle para outro, de maneira semelhante à tarefa do Ant? Até agora, rastreio os documentos de Gradle.

Informação adicional

Após a resposta de Tom abaixo, pensei em esclarecer exatamente o que quero dizer.

Basicamente, tenho um script gradle que executa vários subprojetos. No entanto, os subprojetos são todos projetos do Netbeans e vêm com seus próprios scripts de construção de formigas, então eu tenho tarefas gradle para chamar cada um deles.

Meu problema é que tenho algumas configurações na parte superior do arquivo, como:

projects = [
    [name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"],
    [name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"]
]

Eu, então, gero tarefas como:

projects.each({
    task "checkout_$it.shortname" << {
         // Code to for example check module out from cvs using config from 'it'.
    }
})

Eu tenho muitos desses tipos de snippets de geração de tarefas e todos são genéricos - eles dependem inteiramente da configuração na lista de projetos.

Então, o que eu quero é uma maneira de colocar isso em um script separado e importá-lo da seguinte maneira:

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.

Portanto, neste exemplo, o tasks.gradle terá todo o código genérico de geração de tarefas e será executado nos projetos definidos no arquivo build.gradle principal. Dessa forma, task.gradle é um arquivo que pode ser usado por todos os projetos grandes que consistem em vários subprojetos com arquivos de compilação do Netbeans.

questionAnswers(3)

yourAnswerToTheQuestion