2015-02-22 20 views
9

Vorrei sapere se esiste un modo per forzare gradle a utilizzare un repository per una dipendenza. Per esempio con:Gradle: utilizzo forzato di un repository per una dipendenza

buildscript { 
repositories { 
    jcenter() 
    mavenCentral() 
    maven { url 'https://www.testfairy.com/maven' } 
    maven { url 'https://maven.fabric.io/repo' } 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
} 

dependencies { 
    classpath 'com.android.tools.build:gradle:1.0.1' 
    classpath "io.fabric.tools:gradle:1.+" 
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
wearApp project(':wear') 
compile project(':shimmer') 
compile('com.twitter.sdk.android:twitter:[email protected]') { 
    transitive = true; 
} 
compile('com.twitter.sdk.android:tweet-composer:[email protected]') { 
    transitive = true; 
} 
compile 'com.android.support:appcompat-v7:21.0.3' 
// Dagger 2 dependencies 
compile 'com.google.dagger:dagger:2.0-SNAPSHOT' 
apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT' 
provided 'org.glassfish:javax.annotation:10.0-b28' 

} 

voglio com.google.dagger essere controllato da https://oss.sonatype.org/content/repositories/snapshots perché per ora si cerca di controllarlo fuori dal https://maven.fabric.io/repo che provocano il seguente errore:

Error:Could not GET 'https://maven.fabric.io/repo/com/google/dagger/ 
dagger-compiler/2.0-SNAPSHOT/maven-metadata.xml'. Received status code 401  from server: Unauthorized 
<a href="toggle.offline.mode">Enable Gradle 'offline mode' and sync project</a> 

Grazie.

risposta

1

No, non ancora. L'ordine è importante, quindi puoi provare a mettere il fabric.io repo per ultimo.

Quando provo questo localmente dalla riga di comando, vedo il pugnale venire dal sonatipo senza cambiare nulla. Funziona anche da linea di comando?

+0

Ho capito perché non ha funzionato. Ho avuto "repositories {maven {url" https://oss.sonatype.org/content/repositories/snapshots "}}' sotto il mio 'apply plugin' nel mio file gradle. Ho aggiunto 'maven {url" https://oss.sonatype.org/content/repositories/snapshots "}' sotto di esso e ha funzionato. Ma ancora, non capisco perché non possiamo specificare quale repository usare per dipendenze specifiche. –

10

La stessa cosa è successo a me ieri sera, ho potuto risolvere aggiungendo le seguenti righe nel file gradle.

compile 'com.google.dagger:dagger:2.1-SNAPSHOT' 
apt 'com.google.dagger:dagger-compiler:2.1-SNAPSHOT' 

versione 2.0 non è già disponibile nel repository.

Problemi correlati