1 /* 2 * Copyright (C) 2019 The Dagger Authors. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package dagger.hilt.processor.internal.aggregateddeps; 18 19 import static java.lang.annotation.RetentionPolicy.CLASS; 20 21 import java.lang.annotation.Retention; 22 23 // TODO(bcorso): Change this API to clearly represent that each AggeregatedDeps should only contain 24 // a single module, entry point, or component entry point. 25 /** Annotation for propagating dependency information through javac runs. */ 26 @Retention(CLASS) 27 public @interface AggregatedDeps { 28 /** Returns the components that this dependency will be installed in. */ components()29 String[] components(); 30 31 /** Returns the test this dependency is associated with, otherwise an empty string. */ test()32 String test() default ""; 33 34 /** Returns the deps that this dep replaces. */ replaces()35 String[] replaces() default {}; 36 modules()37 String[] modules() default {}; 38 entryPoints()39 String[] entryPoints() default {}; 40 componentEntryPoints()41 String[] componentEntryPoints() default {}; 42 } 43