2016-08-02 29 views
1

Ich verwende Artifactory als mein Artefaktspeicher und habe dies eingerichtet, sodass es als Proxy und Cache für jcenter verwendet wird. Dies funktioniert im Allgemeinen gut, abgesehen von den Abhängigkeiten, die im Block buildscript in meinem Hauptverzeichnis build.gradle deklariert sind.Konnte die Abhängigkeit, die in Gradle-Buildscript-Block deklariert wurde, nicht über Artifactory

Mein Block sieht aus wie

buildscript { 
    repositories { 
     //proxies jcenter 
     maven { 
      url "https://<myArtiInstance>/artifactory/repo" 
      credentials { 
       username artifactory_reader_username 
       password artifactory_reader_password 
      } 
     } 
    } 
    dependencies { 
     classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1" 
     classpath "com.android.tools.build:gradle:2.1.2" 
    } 
} 

, die den Fehler verursacht beim Laufen gradlew clean build (2.10)

A problem occurred configuring root project 'android'. 
> Could not resolve all dependencies for configuration ':classpath'. 
    > Could not find builder.jar (com.android.tools.build:builder:2.1.2). 
    Searched in the following locations: 
     https://<myArtiInstance>/artifactory/repo/com/android/tools/build/builder/2.1.2/builder-2.1.2.jar 

Wenn ich die obige URL in meine (authentifiziert) Browser Wack, bekomme ich das Glas und kann sehen, wie es in den arti-Cache gestellt wird.

Alle meine anderen proxied Abhängigkeiten scheinen zu arbeiten, so dass ich ein bisschen verwirrt bin, was los ist.

Derzeit frage ich mich, ob dies ein Fehler mit Gradle 2.10 oder etwas ist, da dies früher funktioniert, da ich frühere Versionen dieses Artefakts in meinem arti-Kasten sehen kann.

Vielen Dank für jede Hilfe oder Zeiger :)

EDIT: Wenn ich com.android.tools.build:gradle:2.1.0 zurückzudrängen, die entweder nicht in meinem Cache gespeichert Repo ist, Build abgeschlossen ist fein und es speichert es. Aus irgendeinem Grund mag es nicht 2.1.2, ich frage mich warum ?!

EDIT2: Noch Fragen haben, jetzt ist es genommen Problem mit https://<myArtiInstance>/artifactory/repo/com/google/guava/guava/15.0/guava-15.0.jar, die von einem dependecency dem oben

* What went wrong: 
A problem occurred configuring root project '<name>'. 
> Could not resolve all dependencies for configuration ':classpath'. 
    > Could not find guava.jar (com.google.guava:guava:15.0). 
    Searched in the following locations: 
     https://<myAriInstance>/artifactory/repo/com/google/guava/guava/15.0/guava-15.0.jar 

Dies ist wieder ein ähnlicher Fehler gibt innerhalb des buildscript Block angegeben. Irgendwelche Ideen was los ist? Diese Zeit ist transativ, also kann ich die Version nicht einfach austauschen. Die einzige seltsame Sache, die ich aus den Fehlermeldungen bemerken ist, dass die für guava.jar an der URL der Suche in guava-15.0.jar Ende ...

+1

versuchen läuft gradle mit --info oder --debug, um weitere Informationen zu erhalten –

+0

ja, ich habe das tun, immer mein ersten Anlaufstelle, und sah nichts Aufschlussreiches. Aber ich habe es wieder getan und es hat dazu geführt, dass ich es repariert habe! Siehe Antwort. – Dori

Antwort

1

So stellt sie heraus die Ausgabe von gradlew clean build --debug zum zweiten Mal Inspektion, bemerkte ich, alles von erhalten wurde der lokale ~/.gradle/cache, abgesehen von den oben genannten fehlerhaften Gläsern. rm der Cache und alles funktioniert gut, und die transitiven Abhängigkeiten können von der URL in der Fehlermeldung msg abgerufen werden. Nachfolgende Builds, die vom lokalen Cache abgerufen werden, funktionieren einwandfrei. Scheint mir, dass etwas den lokalen Cache (vielleicht teilweiser Download von kompletten Ressourcen, d. H. pom, jar usw. für die Abhängigkeit) beschädigt hatte und dass der gradle Fehler msg falsch war.

EDIT: Testen nur das Glas aus dem Cache zu löschen und stellt immer noch gut ...