A plugin for Gradle that cleans up integration of Java annotation processors with the Eclipse and IDEA plugins.
To use it, add the following to your projects' build.gradle file:
plugins {
id 'org.inferred.processors' version '<LATEST VERSION>'
}
The eclipse
and idea
tasks will now configure your IDE to run annotation processors as part
of their regular compilation when you use an annotationProcessor dependency.
dependencies {
annotationProcessor 'com.google.dagger:dagger-compiler:2.8'
implementation 'com.google.dagger:dagger:2.8'
}
If you are still using Gradle 4.5 or earlier, you can use the legacy processor
dependency type to enable annotation processing:
dependencies {
processor 'com.google.auto.value:auto-value:1.0'
}
This functions as a combination of the modern "annotationProcessor" and "compileOnly" blocks: it both enables the annotation processor, and makes any annotations it exposes available to use in source code.
For users of Gradle 2.0 and earlier, the plugins
API is not available. Instead, add the
following to your top-level build.gradle file:
buildscript {
repositories {
maven {
url 'https://plugins.gradle.org/m2/'
}
}
dependencies {
classpath 'gradle.plugin.org.inferred:gradle-processors:<LATEST VERSION>'
}
}
And just the apply directive to your subproject build.gradle files:
apply plugin: 'org.inferred.processors'
You can now include annotation processors with the processor
dependency type, as above.
To build the project from source, run ./gradlew build
, or gradlew.bat build
on Windows,
in the root directory of your checkout. You will need Java installed.
Copyright 2015 Palantir Technologies, Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.