Как настроить Gradle для поиска локального ресурса SNAPSHOT?

Я пытаюсь поработать над проектом springfox, который разбит на два отдельных проекта: среда выполнения Springfox и набор демонстраций.

Чтобы исследовать поведение определенных конфигураций, мне нужно изменить модуль в springfox/springfox-petstore и скомпилировать его в springfox-demos/springfox-java-swagger.

В springfox я создал и опубликовал новую версию springfox-petstore и проверил ее правильность в ~/.m2/repository/io/springfox/springfox-petstore/2.2.2-SNAPSHOT.

Затем в springfox-demos я добавил mavenLocal() в качестве репозитория и добавил springfox-petstore-2.2.2-SNAPSHOT в качестве зависимости changing=true.

Когда я пытаюсь собрать среду выполнения springfox-demos, я получаю следующую ошибку:

* What went wrong:
A problem occurred configuring project ':spring-java-swagger'.
 > Could not resolve all dependencies for configuration ':spring-java-swagger:runtimeCopy'.
   > Could not find io.springfox:springfox-petstore:2.2.2-SNAPSHOT.
     Searched in the following locations:
         https://jcenter.bintray.com/io/springfox/springfox-petstore/2.2.2-SNAPSHOT/maven-metadata.xml
         https://jcenter.bintray.com/io/springfox/springfox-petstore/2.2.2-SNAPSHOT/springfox-petstore-2.2.2-SNAPSHOT.pom
         https://jcenter.bintray.com/io/springfox/springfox-petstore/2.2.2-SNAPSHOT/springfox-petstore-2.2.2-SNAPSHOT.jar
         http://oss.jfrog.org/artifactory/oss-snapshot-local/io/springfox/springfox-petstore/2.2.2-SNAPSHOT/maven-metadata.xml
         http://oss.jfrog.org/artifactory/oss-snapshot-local/io/springfox/springfox-petstore/2.2.2-SNAPSHOT/springfox-petstore-2.2.2-SNAPSHOT.pom
         http://oss.jfrog.org/artifactory/oss-snapshot-local/io/springfox/springfox-petstore/2.2.2-SNAPSHOT/springfox-petstore-2.2.2-SNAPSHOT.jar
     Required by:
         springfox-demos:spring-java-swagger:unspecified

Я пробовал различные комбинации задач сборки, но я не могу заставить Gradle выполнить мой запрос на использование локального репозитория maven с артефактом -SNAPSHOT.

Вот файл build.gradle верхнего уровня:

buildscript {
  repositories {
    mavenLocal()
    jcenter()
  }

  dependencies {
    classpath "com.github.adrianbk:gradle-jvmsrc-plugin:0.6.1"
    classpath 'com.ofg:uptodate-gradle-plugin:1.6.0'
  }
}

apply from: "$rootDir/gradle/dependencies.gradle"

subprojects {
  apply plugin: 'com.github.adrianbk.jvmsrc'

  jvmsrc {
    packageName "springfoxdemo"
  }
  apply plugin: 'java'
  apply plugin: 'com.ofg.uptodate'

  repositories {
    jcenter()
    maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local/' }
  }


  sourceCompatibility = 1.7
  targetCompatibility = 1.7

  configurations.all {
    //Dont cache snapshots
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
  }
}

wrapper {
  gradleVersion = "2.4"
}

person PaulProgrammer    schedule 05.10.2015    source источник
comment
Не могли бы вы добавить фрагменты зависимостей и репозиториев из файла build.gradle, а также плагины Gradle, которые вы применили? Если вы еще этого не сделали, добавьте apply plugin: 'maven' в файл (я не могу вспомнить, добавлял ли я его в свою рабочую попытку, чтобы разрешить репозиторий mavenLocal() или для вещи в тех же файлах, которые подталкивают к моему локальному maven )   -  person romeara    schedule 06.10.2015
comment
stackoverflow.com/questions/8383521/   -  person Jorge Campos    schedule 06.10.2015


Ответы (1)


Таким образом, кажется, что build.gradle верхнего уровня может иметь более одного блока repositories{}. Я правильно добавил mavenLocal() к одному, но пропустил другое. После добавления mavenLocal() во второй блок все заработало.

person PaulProgrammer    schedule 06.10.2015