A Gradle pode lidar com uma estrutura de diretório de compilação que não conforme as convenções padrão?
Pergunta
Estou trabalhando em um Java formiga+hera Projeto baseado que possui a seguinte estrutura de diretório:
projectRoot/src
projectRoot/classes
projectRoot/conf
projectRoot/webservices
Isso funciona perfeitamente bem em formiga Mas estou procurando migrar para gradle.
Existe uma maneira de definir uma estrutura de diretório não-maven em Gradle ou devo estar procurando MAVENIZE?
Solução
É muito fácil com o Gradle se adaptar a qualquer estrutura de diretório. Veja o Trabalhando com conjuntos de fontes Seção do Guia do Usuário Gradle.
Outras dicas
Exemplo com estrutura de diretório de projetos não padrão (layout personalizado):
sourceSets {
main {
java {
srcDir 'sources/main/java'
}
outputDir = file("$workDir/client/program")
// For older version (now deprecated):
//output.classesDir = "$workDir/client/program"
}
test {
java {
srcDir 'sources/test/java'
}
outputDir = file("$workDir/client/tests")
// For older versions (now deprecated):
//output.classesDir = "$workDir/client/tests"
//output.resourcesDir = "$workDir/client/tests"
}
resources {
srcDirs 'sources/test/res'
}
}
Tentar:
sourceSets {
main {
java {
srcDirs = ['src/java']
}
resources {
srcDirs = ['src/resources']
}
}
}
ou
sourceSets {
main.java.srcDirs += 'src/java'
main.resources.srcDirs += 'src/resources'
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow