A Gradle pode lidar com uma estrutura de diretório de compilação que não conforme as convenções padrão?

StackOverflow https://stackoverflow.com/questions/2551463

  •  23-09-2019
  •  | 
  •  

Pergunta

Estou trabalhando em um + Projeto baseado que possui a seguinte estrutura de diretório:

projectRoot/src
projectRoot/classes
projectRoot/conf
projectRoot/webservices

Isso funciona perfeitamente bem em Mas estou procurando migrar para .

Existe uma maneira de definir uma estrutura de diretório não-maven em Gradle ou devo estar procurando MAVENIZE?

Foi útil?

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
scroll top