Gradle - Gerenciamento de Dependências
O script de construção do Gradle define um processo para construir projetos; cada projeto contém algumas dependências e algumas publicações. Dependências significam as coisas que suportam construir seu projeto, como o arquivo JAR necessário de outros projetos e JARs externos como JDBC JAR ou Eh-cache JAR no caminho da classe. Publicações significam os resultados do projeto, como arquivos de classe de teste e arquivos de construção, como arquivos war.
Quase todos os projetos não são independentes. Eles precisam de arquivos criados por outros projetos para compilar e testar os arquivos de origem. Por exemplo, para usar o Hibernate no projeto, você precisa incluir alguns JARs do Hibernate no classpath. O Gradle usa algum script especial para definir as dependências, que precisam ser baixadas.
O Gradle se encarrega de criar e publicar os resultados em algum lugar. A publicação é baseada na tarefa que você define. Ele pode querer copiar os arquivos para o diretório local ou carregá-los em um repositório Maven ou lvy remoto ou você pode usar os arquivos de outro projeto na mesma compilação de multiprojeto. Podemos chamar o processo de publicação de uma tarefa de publicação.
Declarando suas dependências
A configuração de dependências nada mais é que define um conjunto de dependências. Você pode usar este recurso para declarar as dependências externas que deseja baixar da web. Isso define diferentes padrões, como a seguir.
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
Configurações de Dependência
A configuração de dependências nada mais é do que define um conjunto de dependências. Você pode usar este recurso para declarar dependências externas, que deseja baixar da web. Isso define as seguintes configurações padrão diferentes.
Compile - As dependências necessárias para compilar a fonte de produção do projeto.
Runtime- As dependências exigidas pelas classes de produção em tempo de execução. Por padrão, também inclui as dependências de tempo de compilação.
Test Compile- As dependências necessárias para compilar a fonte de teste do projeto. Por padrão, inclui classes de produção compiladas e dependências de tempo de compilação.
Test Runtime- As dependências necessárias para executar os testes. Por padrão, inclui tempo de execução e dependências de compilação de teste.
Dependências Externas
Dependências externas são aquelas do tipo de dependências. Esta é uma dependência de alguns arquivos construídos externamente na construção atual e armazenados em um repositório de algum tipo, como Maven central, ou um Maven corporativo ou repositório lvy, ou um diretório no sistema de arquivos local.
O seguinte fragmento de código é para definir a dependência externa. Use este código embuild.gradle Arquivo.
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
}
Uma dependência externa está declarando dependências externas e o formulário de atalho se parece com "grupo: nome: versão".
Repositórios
Ao adicionar dependências externas. O Gradle procura por eles em um repositório. Um repositório é apenas uma coleção de arquivos, organizados por grupo, nome e versão. Por padrão, o Gradle não define nenhum repositório. Temos que definir pelo menos um repositório explicitamente. O fragmento de código a seguir define como definir o repositório maven. Use este código embuild.gradle Arquivo.
repositories {
mavenCentral()
}
O código a seguir é para definir maven remoto. Use este código embuild.gradle Arquivo.
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
Publicação de artefatos
As configurações de dependência também são usadas para publicar arquivos. Esses arquivos publicados são chamados de artefatos. Normalmente, usamos plug-ins para definir artefatos. No entanto, você precisa informar ao Gradle onde publicar os artefatos. Você pode fazer isso anexando repositórios à tarefa de upload de arquivos. Dê uma olhada na seguinte sintaxe para publicar o repositório Maven. Durante a execução, o Gradle gerará e fará upload de um Pom.xml de acordo com os requisitos do projeto. Use este código embuild.gradle Arquivo.
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
}