1 package org.robolectric.internal;
2 
3 import org.robolectric.annotation.Config;
4 
5 /**
6  * A factory that detects what build system is in use and provides a ManifestFactory that can
7  * create an AndroidManifest for that environment.
8  *
9  * The following build systems are currently supported:
10  *
11  * * Maven
12  * * Gradle
13  * * Buck
14  */
15 public interface ManifestFactory {
16 
17   /**
18    * Creates a {@link ManifestIdentifier} which represents an Android app, service, or library
19    * under test, indicating its manifest file, resources and assets directories, and optionally
20    * dependency libraries and an overridden package name.
21    *
22    * @param config The merged configuration for the running test.
23    */
identify(Config config)24   ManifestIdentifier identify(Config config);
25 
26 }
27