Pergunta

Gradle multiproject structure

No RootProject, tenho build.gralde e settings.gradle.comum, subProj1 e subProj2 são subprojetos em settings.gradle

intermediárioDir NÃO É um subprojeto!É utilizado apenas para agrupar o subProj1, subProj2, pois estão relacionados.

Toda vez que executo o "gradle eclipse" no diretório raiz, recebo os arquivos .classpath e .project também no intermediaDir, o que não deveria, pois este não é um subprojeto!Então, basicamente, intermediaDir é considerado um subprojeto para algumas tarefas, mesmo que não esteja em settings.gradle.Alguma maneira rápida de contornar isso?

Foi útil?

Solução

Do jeito que você escreveu settings.gradle, o diretório intermediário é um subprojeto.Muitas vezes isso é desejável, pois permite configurar e executar facilmente seus projetos filhos de uma só vez, mesmo que o projeto intermediário não tenha nenhum arquivo ou tarefa própria.

Para se livrar de comportamentos indesejados em um projeto intermediário, certifique-se de não aplicar esse comportamento (por exemplo, apply plugin: "eclipse") para esse projeto (provavelmente você está aplicando-o a allprojects agora) ou alterar settings.gradle para não criar um projeto intermediário.Por exemplo:

include "common"   
// name it any way you like, but not 
// "intermediateDir:subProj1", i.e. no ":"
include "subProj1" 
include "subProj2"

project(":subProj1").projectDir = file("intermediateDir/subProj1")
project(":subProj2").projectDir = file("intermediateDir/subProj2")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top