Gradle / Ivy использовать кэшированные репозитории? - PullRequest
1 голос
/ 11 июня 2010

Я бы хотел, чтобы Grade / Ivy использовал кэшированные версии моих jar-файлов, поскольку каждый раз для проверки обновлений требуется ~ 20 секунд.

Возможно ли это?

Спасибо, Миша

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

В зависимости от требуемой скорости может быть достаточно настроить прокси-сервер локального хранилища (вы можете сделать это для нескольких хранилищ, не только maven central) с Artifactory или Nexus.Таким образом, проверка обновлений должна быть намного быстрее, поскольку она больше не идет через Интернет, а только через локальную сеть.Только в первый раз, когда вы используете зависимость, прокси-сервер загрузит ее из вышестоящего хранилища.

1 голос
/ 11 июня 2010

Здесь, как всегда, моё хакерское решение:

deps.sh

#!/bin/bash
if [ -d lib ]; then
   rm -rf lib
fi
mkdir lib

cd lib
NAMES=`find ~/.gradle/cache -name \*.jar`
for NAME in $NAMES; do
   ln -s $NAME .
done

и мой build.gradle становится

apply plugin: 'groovy'

/*
repositories {
   mavenCentral()
}
*/

dependencies {
  /*
  groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.7.0'
  groovy group: 'org.hibernate', name: 'hibernate-core', version: '3.3.2.GA'
  groovy group: 'org.hibernate', name: 'hibernate-annotations', version: '3.4.0.GA'
  groovy group: 'org.slf4j', name: 'slf4j-jdk14', version: '1.6.0'
  groovy group: 'org.jasypt', name: 'jasypt', version: '1.6'
  groovy group: 'org.codehaus.groovy.modules.http-builder', name: 'http-builder', version:     '0.5.0'
  groovy group: 'net.sourceforge.htmlunit', name: 'htmlunit', version: '2.7'
  testCompile group: 'junit', name: 'junit', version: '4.7'  
  */
  groovy fileTree(dir: 'lib', include: '*.jar')
}
...