私は時々見られるアンドロイドのgradleファイルの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'
}
}
お知らせaptの範囲はありますか?私はコンパイル、パッケージ、提供されたスコープを知っているだけです。 にはコンパイル時およびパッケージ内の依存関係が含まれていますが、コンパイル時にはライブラリのみが含まれ、最終ビルドには含まれないようにパッケージ時間は になります。パッケージはその逆です。パッケージに依存し、コンパイル時には依存しません。 しかし、私たちは明らかにcom.neenbedankt.android-aptが動作するために必要なapt依存関係のスコープがあります。そのため、私はアンドロイドベースを知っています。
更新: なぜカント私はを使用する代わりに、がち範囲の依存スコープを提供しましたか?彼らはどのように違いますか?
私はdagger dependency scopesのチュートリアルを作成しました。 android-apt
project pageから
をコーディングすると、なぜカント私はこのケースではなく、aptの「提供」を使用ハッピー?私はあなたがそれが私のために物事をクリアすると答えたと思います。 – j2emanue
違いの説明が追加されました。 –
ブリリアント。私はまた、提供された 'org.glassfish:javax.annotation:10.0-b28'をgradleで使用します。それを適切な範囲にする方が良いと思いますか?このようにして、ジェネレータはコードに含まれません。 – j2emanue