Qual è l'ambito di dipendenza apt nei file gradle di Android che vedo a volte?ambito di dipendenza apt in gradle Android: a cosa serve?
Un esempio è simile a questo?
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
applicationId "org.ligboy.test.card.module1"
minSdkVersion 14
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
final DAGGER_VERSION = '2.0.2'
dependencies {
compile "com.google.dagger:dagger:${DAGGER_VERSION}"
apt "com.google.dagger:dagger-compiler:${DAGGER_VERSION}"//what is this scope
provided 'org.glassfish:javax.annotation:10.0-b28'
}
e nel build.gradle livello superiore di file ha questa dipendenza globale:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
avviso nella sezione dipendenze v'è un campo di applicazione apt? Conosco solo la compilazione, il pacchetto e l'ambito fornito. compila include la dipendenza in fase di compilazione e nel tuo pacchetto, a condizione che solo includa la libreria in fase di compilazione e la scartini al tempo di pacchetto quindi non inclusa nella compilazione finale. e Package è il contrario, include la dipendenza nel pacchetto e non al momento della compilazione. Ma qual è l'ambito di dipendenza apt che ovviamente abbiamo bisogno di com.neenbedankt.android-apt affinchè funzioni, quindi so che è basato su Android.
aggiornamento: perché sopraelevazione io uso fornito portata dipendenza anziché apt portata? Come si differenziano?
ho creato un tutorial su dagger dependency scopes per coloro che hanno bisogno di maggiori informazioni.
e perché non posso usare "fornito" in questo caso anziché apt? Penso che se tu rispondessi, questo mi avrebbe chiarito le cose. – j2emanue
Aggiunta una spiegazione sulle differenze. –
Brillante. Uso anche "org.glassfish: javax.annotation: 10.0-b28" nel gradle. pensi che sarebbe meglio renderlo un ambito adatto? in questo modo nessuno dei generatori viene incluso nel codice, giusto? – j2emanue