Какова область зависимости apt в файлах android gradle, которые я вижу иногда?
Пример выглядит так:
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'
}
а в файле build.gradle верхнего уровня он имеет эту глобальную зависимость:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
Обратите внимание, что в разделе зависимостей есть область приложения? Я знаю только компиляцию, пакет и предоставленную область. компилировать включает в себя зависимость во время компиляции и в вашем пакете, при условии, что сказано, что только во время компиляции включить библиотеку и отказаться от нее время пакета, поэтому оно не включено в окончательную сборку. а пакет - наоборот, он включает зависимость в пакете, а не во время компиляции. Но то, что является подходящей областью зависимости, для которой нам, очевидно, нужен com.neenbedankt.android-apt, чтобы он работал, поэтому я знаю его андроид.
обновление: почему can not я использую предоставленную область зависимости вместо apt? Как они отличаются?
я создал учебное пособие по областям зависимости кинжалов для тех, кому нужна дополнительная информация.