aboutsummaryrefslogtreecommitdiff
path: root/java/dagger/android/processor/AndroidProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/dagger/android/processor/AndroidProcessor.java')
-rw-r--r--java/dagger/android/processor/AndroidProcessor.java59
1 files changed, 12 insertions, 47 deletions
diff --git a/java/dagger/android/processor/AndroidProcessor.java b/java/dagger/android/processor/AndroidProcessor.java
index 2a8ab345b..beb8d0de7 100644
--- a/java/dagger/android/processor/AndroidProcessor.java
+++ b/java/dagger/android/processor/AndroidProcessor.java
@@ -16,21 +16,15 @@
package dagger.android.processor;
-import static javax.tools.Diagnostic.Kind.ERROR;
import static net.ltgt.gradle.incap.IncrementalAnnotationProcessorType.ISOLATING;
-import com.google.auto.common.BasicAnnotationProcessor;
+import androidx.room.compiler.processing.XProcessingEnv;
+import androidx.room.compiler.processing.XProcessingStep;
+import androidx.room.compiler.processing.javac.JavacBasicAnnotationProcessor;
import com.google.auto.service.AutoService;
-import com.google.common.base.Ascii;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import java.util.Set;
-import javax.annotation.processing.Filer;
-import javax.annotation.processing.Messager;
import javax.annotation.processing.Processor;
import javax.lang.model.SourceVersion;
-import javax.lang.model.util.Elements;
-import javax.lang.model.util.Types;
import net.ltgt.gradle.incap.IncrementalAnnotationProcessor;
/**
@@ -49,51 +43,22 @@ import net.ltgt.gradle.incap.IncrementalAnnotationProcessor;
*/
@IncrementalAnnotationProcessor(ISOLATING)
@AutoService(Processor.class)
-public final class AndroidProcessor extends BasicAnnotationProcessor {
- private static final String FLAG_EXPERIMENTAL_USE_STRING_KEYS =
- "dagger.android.experimentalUseStringKeys";
+public final class AndroidProcessor extends JavacBasicAnnotationProcessor {
+ private final DelegateAndroidProcessor delegate = new DelegateAndroidProcessor();
@Override
- protected Iterable<? extends Step> steps() {
- Filer filer = processingEnv.getFiler();
- Messager messager = processingEnv.getMessager();
- Elements elements = processingEnv.getElementUtils();
- Types types = processingEnv.getTypeUtils();
-
- return ImmutableList.of(
- new AndroidMapKeyValidator(elements, types, messager),
- new ContributesAndroidInjectorGenerator(
- new AndroidInjectorDescriptor.Validator(messager),
- useStringKeys(),
- filer,
- elements,
- processingEnv.getSourceVersion()));
+ public void initialize(XProcessingEnv env) {
+ delegate.initialize(env);
}
- private boolean useStringKeys() {
- if (!processingEnv.getOptions().containsKey(FLAG_EXPERIMENTAL_USE_STRING_KEYS)) {
- return false;
- }
- String flagValue = processingEnv.getOptions().get(FLAG_EXPERIMENTAL_USE_STRING_KEYS);
- if (flagValue == null || Ascii.equalsIgnoreCase(flagValue, "true")) {
- return true;
- } else if (Ascii.equalsIgnoreCase(flagValue, "false")) {
- return false;
- } else {
- processingEnv
- .getMessager()
- .printMessage(
- ERROR,
- String.format(
- "Unknown flag value: %s. %s must be set to either 'true' or 'false'.",
- flagValue, FLAG_EXPERIMENTAL_USE_STRING_KEYS));
- return false;
- }
+ @Override
+ public Iterable<XProcessingStep> processingSteps() {
+ return delegate.processingSteps();
}
@Override
- public Set<String> getSupportedOptions() {
- return ImmutableSet.of(FLAG_EXPERIMENTAL_USE_STRING_KEYS);
+ public final ImmutableSet<String> getSupportedOptions() {
+ return ImmutableSet.of(DelegateAndroidProcessor.FLAG_EXPERIMENTAL_USE_STRING_KEYS);
}
@Override