A pasta .gradle deve ser adicionada ao controle de versão?

104

O Gradle cria uma pasta chamada .gradle. Devo rastreá-lo com meu controle de versão (ou seja, git)?

Mais importante, por que / por que não?

cientista de foguetes
fonte

Respostas:

114

Devo rastrear o diretório .gradle?

Não. Ele pode ser ignorado com segurança.


Por que devo ignorar isso?

É puramente para armazenar informações em cache, você não as quer em seu repo porque:

  • pode ficar grande e cheio de arquivos binários
  • pode haver dados específicos da máquina lá
  • há muita agitação lá (você estaria constantemente submetendo alterações aos arquivos lá)
  • tudo lá pode ser completamente regenerado sempre que for necessário de qualquer maneira

É basicamente um diretório temporário que o Gradle está descartando no meio do seu código-fonte (por que o Gradle acha que é uma coisa apropriada a se fazer é outra questão).

Você pode saber a natureza do "diretório de cache" do diretório pelo nome do switch que permite alterar para onde ele vai: " --project-cache-dir ".

Embora eu odeie ter arquivos binários em minha árvore de código-fonte, geralmente acabo adicionando o diretório ao meu arquivo ignorar porque em algum lugar ao longo da linha vou esquecer de usar a opção de alguma linha de comando ou de meu IDE ou algo assim e então termino tendo que lidar com o diretório de qualquer maneira.


Como faço para ignorar isso?

Os usuários do Git podem adicionar uma linha com apenas .gradleao arquivo .gitgnore e o Git irá ignorar todos os arquivos em qualquer diretório com aquele nome.

Os usuários do Mercurial desejam consultar o arquivo .hgignore .

Para outros sistemas de controle de versão, consulte a documentação - todos eles têm um recurso para oferecer suporte a isso.

Tosado
fonte
Todos os debs de iOS do mundo convertendo para Android, obrigado! :)
Fattie
13

A pasta .gradle contém diferentes informações calculadas sobre sua compilação do Gradle (por exemplo, saídas em cache / informações de entrada). Definitivamente, você não deve verificar essa pasta em seu sistema de controle de versão.

Rene Groeschke
fonte
3

Você não precisa manter a pasta .gradle.

Porque depois de executar o comando gradle build novamente, você pode criar quase a mesma pasta .gradle novamente.

Mas quando você usa o arquivo gradle.setting em .gradle, pode ser necessário movê-lo para a pasta raiz do projeto.

Naggi
fonte
0

quando iniciamos o gradle, ele cria a pasta .gradle dentro do seu diretório inicial. Consiste em nativos (informações sobre seu sistema) e caches. Os caches ainda consistem em plug-ins e todas as outras dependências do jars.

Quando construímos o projeto pela primeira vez naquela época, ele baixou dependências e plug-ins e os chechou aqui. da próxima vez, quando precisarmos deles, venha daqui. mesmo quando precisamos deles no eclipse para compilar o código (=> gradle eclipse), suas dependências são adicionadas do cache

Como ele continuará atualizando e adicionando quando você executar o Gradle. então acho que não o adicionamos ao controle de versão.

AKT
fonte
0

Eu era novo no Gradle e pensei que a pasta .gradle conterá informações genéricas, como mapeamentos de dependências, etc. Em seguida, tentei configurar uma nova máquina com um tipo de sistema operacional diferente e versão Java usando o código do controle de versão incluindo a pasta .gradle e encontrei erros. Descobriu-se que a pasta .gradle contém informações específicas da máquina e é usada para armazenamento em cache local. Não inclua a pasta .gradle no controle de versão e tente configurar uma nova máquina com o código, o daemon do gradle fará o resto.

Varun
fonte