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