summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/rootcomponentgenerator
diff options
context:
space:
mode:
authorZachary Heidepriem <zachh@google.com>2018-04-06 12:28:36 -0700
committerZachary Heidepriem <zachh@google.com>2018-04-06 13:20:02 -0700
commit7acd97f63fdd4fad9fbbdbf7e941dda03b04e44a (patch)
tree992a1f0ad5300dd19a95572e0f540944be12fce7 /java/com/android/dialer/rootcomponentgenerator
parent2725d7980278f8277d042c5087a2a1e467bbaa7b (diff)
Reorganized rootcomponentgenerator package and added demo.
-Moved rootcomponentgenerator/annotations to dialer/inject to reduce the number of deps engineers need to include -Move rootcomponentgenerator/processor into rootcomponentgenerator/ since the other package is now gone -Added inject/demo and tests TEST=unit, tap Test: unit, tap PiperOrigin-RevId: 191916595 Change-Id: Ic155808c7435bdce198970caa92309edb9fadac8
Diffstat (limited to 'java/com/android/dialer/rootcomponentgenerator')
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/ComponentGeneratingStep.java (renamed from java/com/android/dialer/rootcomponentgenerator/processor/ComponentGeneratingStep.java)4
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/MetadataGeneratingStep.java (renamed from java/com/android/dialer/rootcomponentgenerator/processor/MetadataGeneratingStep.java)8
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java (renamed from java/com/android/dialer/rootcomponentgenerator/processor/RootComponentGeneratingStep.java)12
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/RootComponentProcessor.java (renamed from java/com/android/dialer/rootcomponentgenerator/processor/RootComponentProcessor.java)2
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/RootComponentUtils.java (renamed from java/com/android/dialer/rootcomponentgenerator/processor/RootComponentUtils.java)2
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/annotation/DialerRootComponent.java44
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/annotation/DialerVariant.java42
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/annotation/IncludeInDialerRoot.java47
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/annotation/InstallIn.java40
-rw-r--r--java/com/android/dialer/rootcomponentgenerator/annotation/RootComponentGeneratorMetadata.java31
10 files changed, 14 insertions, 218 deletions
diff --git a/java/com/android/dialer/rootcomponentgenerator/processor/ComponentGeneratingStep.java b/java/com/android/dialer/rootcomponentgenerator/ComponentGeneratingStep.java
index 04d42ac59..1a40611c5 100644
--- a/java/com/android/dialer/rootcomponentgenerator/processor/ComponentGeneratingStep.java
+++ b/java/com/android/dialer/rootcomponentgenerator/ComponentGeneratingStep.java
@@ -14,7 +14,7 @@
* limitations under the License
*/
-package com.android.dialer.rootcomponentgenerator.processor;
+package com.android.dialer.rootcomponentgenerator;
import static com.google.auto.common.AnnotationMirrors.getAnnotationValue;
import static com.google.auto.common.MoreElements.getAnnotationMirror;
@@ -23,7 +23,7 @@ import static javax.lang.model.element.Modifier.PUBLIC;
import static javax.lang.model.element.Modifier.STATIC;
import static javax.lang.model.util.ElementFilter.typesIn;
-import com.android.dialer.rootcomponentgenerator.annotation.IncludeInDialerRoot;
+import com.android.dialer.inject.IncludeInDialerRoot;
import com.google.auto.common.BasicAnnotationProcessor.ProcessingStep;
import com.google.auto.common.MoreElements;
import com.google.common.base.Optional;
diff --git a/java/com/android/dialer/rootcomponentgenerator/processor/MetadataGeneratingStep.java b/java/com/android/dialer/rootcomponentgenerator/MetadataGeneratingStep.java
index 3b46ed0d0..266574d76 100644
--- a/java/com/android/dialer/rootcomponentgenerator/processor/MetadataGeneratingStep.java
+++ b/java/com/android/dialer/rootcomponentgenerator/MetadataGeneratingStep.java
@@ -14,13 +14,13 @@
* limitations under the License
*/
-package com.android.dialer.rootcomponentgenerator.processor;
+package com.android.dialer.rootcomponentgenerator;
import static javax.tools.Diagnostic.Kind.ERROR;
-import com.android.dialer.rootcomponentgenerator.annotation.IncludeInDialerRoot;
-import com.android.dialer.rootcomponentgenerator.annotation.InstallIn;
-import com.android.dialer.rootcomponentgenerator.annotation.RootComponentGeneratorMetadata;
+import com.android.dialer.inject.IncludeInDialerRoot;
+import com.android.dialer.inject.InstallIn;
+import com.android.dialer.inject.RootComponentGeneratorMetadata;
import com.google.auto.common.BasicAnnotationProcessor.ProcessingStep;
import com.google.auto.common.MoreElements;
import com.google.common.collect.ImmutableSet;
diff --git a/java/com/android/dialer/rootcomponentgenerator/processor/RootComponentGeneratingStep.java b/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java
index ad91a3cbe..61c326a3c 100644
--- a/java/com/android/dialer/rootcomponentgenerator/processor/RootComponentGeneratingStep.java
+++ b/java/com/android/dialer/rootcomponentgenerator/RootComponentGeneratingStep.java
@@ -14,17 +14,17 @@
* limitations under the License
*/
-package com.android.dialer.rootcomponentgenerator.processor;
+package com.android.dialer.rootcomponentgenerator;
import static com.google.auto.common.AnnotationMirrors.getAnnotationValue;
import static com.google.auto.common.MoreElements.getAnnotationMirror;
import static com.google.auto.common.MoreElements.isAnnotationPresent;
-import com.android.dialer.rootcomponentgenerator.annotation.DialerRootComponent;
-import com.android.dialer.rootcomponentgenerator.annotation.DialerVariant;
-import com.android.dialer.rootcomponentgenerator.annotation.IncludeInDialerRoot;
-import com.android.dialer.rootcomponentgenerator.annotation.InstallIn;
-import com.android.dialer.rootcomponentgenerator.annotation.RootComponentGeneratorMetadata;
+import com.android.dialer.inject.DialerRootComponent;
+import com.android.dialer.inject.DialerVariant;
+import com.android.dialer.inject.IncludeInDialerRoot;
+import com.android.dialer.inject.InstallIn;
+import com.android.dialer.inject.RootComponentGeneratorMetadata;
import com.google.auto.common.BasicAnnotationProcessor.ProcessingStep;
import com.google.auto.common.MoreElements;
import com.google.common.base.Optional;
diff --git a/java/com/android/dialer/rootcomponentgenerator/processor/RootComponentProcessor.java b/java/com/android/dialer/rootcomponentgenerator/RootComponentProcessor.java
index 56caa9ea4..76df5e312 100644
--- a/java/com/android/dialer/rootcomponentgenerator/processor/RootComponentProcessor.java
+++ b/java/com/android/dialer/rootcomponentgenerator/RootComponentProcessor.java
@@ -14,7 +14,7 @@
* limitations under the License
*/
-package com.android.dialer.rootcomponentgenerator.processor;
+package com.android.dialer.rootcomponentgenerator;
import com.google.auto.common.BasicAnnotationProcessor;
import com.google.auto.service.AutoService;
diff --git a/java/com/android/dialer/rootcomponentgenerator/processor/RootComponentUtils.java b/java/com/android/dialer/rootcomponentgenerator/RootComponentUtils.java
index 889297154..cdcae9250 100644
--- a/java/com/android/dialer/rootcomponentgenerator/processor/RootComponentUtils.java
+++ b/java/com/android/dialer/rootcomponentgenerator/RootComponentUtils.java
@@ -14,7 +14,7 @@
* limitations under the License
*/
-package com.android.dialer.rootcomponentgenerator.processor;
+package com.android.dialer.rootcomponentgenerator;
import com.squareup.javapoet.JavaFile;
import com.squareup.javapoet.TypeSpec;
diff --git a/java/com/android/dialer/rootcomponentgenerator/annotation/DialerRootComponent.java b/java/com/android/dialer/rootcomponentgenerator/annotation/DialerRootComponent.java
deleted file mode 100644
index b6bf22efb..000000000
--- a/java/com/android/dialer/rootcomponentgenerator/annotation/DialerRootComponent.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * 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
- */
-
-package com.android.dialer.rootcomponentgenerator.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Annotates the place with this annotation when a RootComponent is needed.
- *
- * <p>Usually users put this annotation on application class that is root of dependencies (the last
- * thing to compile). The annotation processor will figure out what it needs to generate a variant
- * root through dependencies.
- *
- * <p>Example:
- *
- * <pre>
- * <code>
- * @DialerRootComponent(variant = DialerVariant.DIALER_AOSP)
- * public class RootDialerAosp {}
- * </code>
- * </pre>
- */
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.SOURCE)
-public @interface DialerRootComponent {
- DialerVariant variant();
-}
diff --git a/java/com/android/dialer/rootcomponentgenerator/annotation/DialerVariant.java b/java/com/android/dialer/rootcomponentgenerator/annotation/DialerVariant.java
deleted file mode 100644
index 0bb185296..000000000
--- a/java/com/android/dialer/rootcomponentgenerator/annotation/DialerVariant.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * 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
- */
-
-package com.android.dialer.rootcomponentgenerator.annotation;
-
-/** Represents all dialer variants. */
-public enum DialerVariant {
- // AOSP Dialer variants
- DIALER_AOSP("DialerAosp"),
- DIALER_AOSP_ESPRESSO("DialerAospEspresso"),
- DIALER_ROBOLECTRIC("DialerRobolectric"),
-
-
-
- // TEST variant will be used in situations where we need create in-test application class which
- // doesn't belong to any variants listed above
- DIALER_TEST("DialerTest");
-
- private final String variant;
-
- DialerVariant(String variant) {
- this.variant = variant;
- }
-
- @Override
- public String toString() {
- return variant;
- }
-}
diff --git a/java/com/android/dialer/rootcomponentgenerator/annotation/IncludeInDialerRoot.java b/java/com/android/dialer/rootcomponentgenerator/annotation/IncludeInDialerRoot.java
deleted file mode 100644
index 4ce9ec3a3..000000000
--- a/java/com/android/dialer/rootcomponentgenerator/annotation/IncludeInDialerRoot.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * 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
- */
-
-package com.android.dialer.rootcomponentgenerator.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- * Annotates a type that should be included in Dialer Root Component. Typically, annotated types are
- * HasComponent interfaces.
- *
- * <p>An example:
- *
- * <pre>
- * <code>
- * {@literal @}dagger.Subcomponent
- * public abstract class SimulatorComponent {
- * public static SimulatorComponent get(Context context) {
- * return ((HasComponent)((HasRootComponent) context.getApplicationContext()).component())
- * .simulatorComponent();
- * }
- * {@literal @}IncludeInDialerRoot
- * public interface HasComponent {
- * SimulatorComponent simulatorComponent();
- * }
- * }
- * </code>
- * </pre>
- */
-@Target(ElementType.TYPE)
-public @interface IncludeInDialerRoot {
- Class<?>[] modules() default {};
-}
diff --git a/java/com/android/dialer/rootcomponentgenerator/annotation/InstallIn.java b/java/com/android/dialer/rootcomponentgenerator/annotation/InstallIn.java
deleted file mode 100644
index 01a7873b0..000000000
--- a/java/com/android/dialer/rootcomponentgenerator/annotation/InstallIn.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * 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
- */
-
-package com.android.dialer.rootcomponentgenerator.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- * Annotation for {@link dagger.Module dagger.Modules} which causes them to be installed in the
- * specified variants.
- *
- * <p>It has a parameter for users to enter on which variants annotated module will be installed and
- * also must be non-empty. Example:
- *
- * <pre>
- * <code>
- * @InstallIn(variants = {DialerVariant.DIALER_AOSP, DialerVariant.DIALER_TEST})
- * public class Module1 {}
- *
- * </code>
- * </pre>
- */
-@Target(ElementType.TYPE)
-public @interface InstallIn {
- DialerVariant[] variants();
-}
diff --git a/java/com/android/dialer/rootcomponentgenerator/annotation/RootComponentGeneratorMetadata.java b/java/com/android/dialer/rootcomponentgenerator/annotation/RootComponentGeneratorMetadata.java
deleted file mode 100644
index 070cc7350..000000000
--- a/java/com/android/dialer/rootcomponentgenerator/annotation/RootComponentGeneratorMetadata.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * 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
- */
-
-package com.android.dialer.rootcomponentgenerator.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-/**
- * Only used by rootcomponent generator to store metadata for locating annotated
- * (@DialerComponent, @InstallIn) class.
- */
-@Target(ElementType.TYPE)
-public @interface RootComponentGeneratorMetadata {
- String tag();
-
- Class<?> annotatedClass();
-}