Reformat the build rules in the AndroidLibraryTest.java
RELNOTES: none.
PiperOrigin-RevId: 217405037
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
index e52b297..38214eb 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
@@ -71,19 +71,26 @@
@Test
public void testSimpleLibrary() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'a',",
- " srcs = ['A.java'],",
- " )");
+ scratch.file("java/android/BUILD", "android_library(name = 'a', srcs = ['A.java'])");
getConfiguredTarget("//java/android:a");
}
@Test
public void testBaselineCoverageArtifacts() throws Exception {
useConfiguration("--collect_code_coverage");
- ConfiguredTarget target = scratchConfiguredTarget("java/a", "a",
- "android_library(name='a', srcs=['A.java'], deps=[':b'])",
- "android_library(name='b', srcs=['B.java'])");
+ ConfiguredTarget target =
+ scratchConfiguredTarget(
+ "java/a",
+ "a",
+ "android_library(",
+ " name='a',",
+ " srcs=['A.java'],",
+ " deps=[':b'],",
+ ")",
+ "android_library(",
+ " name='b',",
+ " srcs=['B.java'],",
+ ")");
assertThat(baselineCoverageArtifactBasenames(target)).containsExactly("A.java", "B.java");
}
@@ -92,14 +99,34 @@
@Test
public void testLibrarySrcs() throws Exception {
scratch.file("java/srcs/a.foo", "foo");
- scratch.file("java/srcs/BUILD",
- "android_library(name = 'valid', srcs = ['a.java', 'b.srcjar', ':gvalid', ':gmix'])",
- "android_library(name = 'invalid', srcs = ['a.foo', ':ginvalid'])",
- "android_library(name = 'mix', srcs = ['a.java', 'a.foo'])",
+ scratch.file(
+ "java/srcs/BUILD",
+ "android_library(",
+ " name = 'valid',",
+ " srcs = [",
+ " 'a.java',",
+ " 'b.srcjar',",
+ " ':gvalid',",
+ " ':gmix',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 'invalid',",
+ " srcs = [",
+ " 'a.foo',",
+ " ':ginvalid',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 'mix',",
+ " srcs = [",
+ " 'a.java',",
+ " 'a.foo',",
+ " ],",
+ ")",
"genrule(name = 'gvalid', srcs = ['a.java'], outs = ['b.java'], cmd = '')",
"genrule(name = 'ginvalid', srcs = ['a.java'], outs = ['b.foo'], cmd = '')",
- "genrule(name = 'gmix', srcs = ['a.java'], outs = ['c.java', 'c.foo'], cmd = '')"
- );
+ "genrule(name = 'gmix', srcs = ['a.java'], outs = ['c.java', 'c.foo'], cmd = '')");
assertSrcsValidityForRuleType("//java/srcs", "android_library",
".java or .srcjar");
}
@@ -113,54 +140,78 @@
@Test
public void testSlashInIdlImportRoot() throws Exception {
- scratchConfiguredTarget("java/com/google/android", "avocado",
- "android_library(name='avocado',",
- " idl_parcelables=['tropical/fruit/Avocado.aidl'],",
- " idl_import_root='tropical/fruit')");
+ scratchConfiguredTarget(
+ "java/com/google/android",
+ "avocado",
+ "android_library(",
+ " name = 'avocado',",
+ " idl_parcelables = ['tropical/fruit/Avocado.aidl'],",
+ " idl_import_root = 'tropical/fruit',",
+ ")");
}
@Test
public void testAndroidLibraryWithIdlImportAndNoIdls() throws Exception {
- checkError("java/com/google/android", "lib",
+ checkError(
+ "java/com/google/android",
+ "lib",
"Neither idl_srcs nor idl_parcelables were specified, "
+ "but 'idl_import_root' attribute was set",
- "android_library(name = 'lib',",
+ "android_library(",
+ " name = 'lib',",
" srcs = ['Dummy.java'],",
- " idl_import_root = 'src')");
+ " idl_import_root = 'src',",
+ ")");
}
@Test
public void testAndroidLibraryWithIdlImportAndIdlSrcs() throws Exception {
- scratchConfiguredTarget("java/com/google/android", "lib",
- "android_library(name = 'lib',",
+ scratchConfiguredTarget(
+ "java/com/google/android",
+ "lib",
+ "android_library(",
+ " name = 'lib',",
" idl_srcs = ['Dummy.aidl'],",
- " idl_import_root = 'src')");
+ " idl_import_root = 'src',",
+ ")");
}
@Test
public void testAndroidLibraryWithIdlImportAndIdlParcelables() throws Exception {
- scratchConfiguredTarget("java/com/google/android", "lib",
- "android_library(name = 'lib',",
+ scratchConfiguredTarget(
+ "java/com/google/android",
+ "lib",
+ "android_library(",
+ " name = 'lib',",
" idl_parcelables = ['src/android/DummyParcelable.aidl'],",
- " idl_import_root = 'src')");
+ " idl_import_root = 'src',",
+ ")");
}
@Test
public void testAndroidLibraryWithIdlImportAndBothIdlTypes() throws Exception {
- scratchConfiguredTarget("java/com/google/android", "lib",
- "android_library(name = 'lib',",
+ scratchConfiguredTarget(
+ "java/com/google/android",
+ "lib",
+ "android_library(",
+ " name = 'lib',",
" idl_srcs = ['src/android/Dummy.aidl'],",
" idl_parcelables = ['src/android/DummyParcelable.aidl'],",
- " idl_import_root = 'src')");
+ " idl_import_root = 'src',",
+ ")");
}
@Test
public void testAndroidLibraryWithIdlImportAndEmptyLists() throws Exception {
- scratchConfiguredTarget("java/com/google/android", "lib",
- "android_library(name = 'lib',",
+ scratchConfiguredTarget(
+ "java/com/google/android",
+ "lib",
+ "android_library(",
+ " name = 'lib',",
" idl_srcs = [],",
" idl_parcelables = [],",
- " idl_import_root = 'src')");
+ " idl_import_root = 'src',",
+ ")");
}
@Test
@@ -168,15 +219,16 @@
scratchConfiguredTarget(
"java/com/google/android",
"lib",
- "android_library(name = 'lib',",
+ "android_library(",
+ " name = 'lib',",
" idl_srcs = ['src/android/Dummy.aidl'],",
- " idl_preprocessed = ['src/android/DummyParcelable.aidl'])");
+ " idl_preprocessed = ['src/android/DummyParcelable.aidl'],",
+ ")");
}
@Test
public void testCommandLineContainsTargetLabelAndRuleKind() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'a', srcs = ['A.java'])");
+ scratch.file("java/android/BUILD", "android_library(name = 'a', srcs = ['A.java'])");
SpawnAction javacAction = (SpawnAction) getGeneratingActionForLabel("//java/android:liba.jar");
String commandLine = Iterables.toString(getJavacArguments(javacAction));
@@ -186,8 +238,12 @@
@Test
public void testStrictAndroidDepsOff() throws Exception {
useConfiguration("--strict_java_deps=OFF");
- scratch.file("java/android/strict/BUILD",
- "android_library(name = 'b', srcs = ['B.java'])");
+ scratch.file(
+ "java/android/strict/BUILD",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['B.java'],",
+ ")");
Artifact artifact = getFileConfiguredTarget("//java/android/strict:libb.jar").getArtifact();
SpawnAction compileAction = (SpawnAction) getGeneratingAction(artifact);
assertThat(getStrictJavaDepsMode(compileAction)).isEqualTo(StrictDepsMode.OFF);
@@ -195,8 +251,12 @@
@Test
public void testStrictAndroidDepsOn() throws Exception {
- scratch.file("java/android/strict/BUILD",
- "android_library(name = 'b', srcs = ['B.java'])");
+ scratch.file(
+ "java/android/strict/BUILD",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['B.java'],",
+ ")");
Artifact artifact = getFileConfiguredTarget("//java/android/strict:libb.jar").getArtifact();
SpawnAction compileAction = (SpawnAction) getGeneratingAction(artifact);
assertThat(getStrictJavaDepsMode(compileAction)).isEqualTo(StrictDepsMode.ERROR);
@@ -205,8 +265,12 @@
@Test
public void testStrictAndroidDepsWarn() throws Exception {
useConfiguration("--strict_android_deps=WARN");
- scratch.file("java/android/strict/BUILD",
- "android_library(name = 'b', srcs = ['B.java'])");
+ scratch.file(
+ "java/android/strict/BUILD",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['B.java'],",
+ ")");
Artifact artifact = getFileConfiguredTarget("//java/android/strict:libb.jar").getArtifact();
SpawnAction compileAction = (SpawnAction) getGeneratingAction(artifact);
assertThat(getStrictJavaDepsMode(compileAction)).isEqualTo(StrictDepsMode.WARN);
@@ -233,16 +297,23 @@
@Test
public void testJavaPluginProcessorPath() throws Exception {
- scratch.file("java/test/BUILD",
- "java_library(name = 'plugin_dep',",
- " srcs = [ 'ProcessorDep.java'])",
- "java_plugin(name = 'plugin',",
+ scratch.file(
+ "java/test/BUILD",
+ "java_library(",
+ " name = 'plugin_dep',",
+ " srcs = [ 'ProcessorDep.java'],",
+ ")",
+ "java_plugin(",
+ " name = 'plugin',",
" srcs = ['AnnotationProcessor.java'],",
" processor_class = 'com.google.process.stuff',",
- " deps = [ ':plugin_dep' ])",
- "android_library(name = 'to_be_processed',",
+ " deps = [ ':plugin_dep' ],",
+ ")",
+ "android_library(",
+ " name = 'to_be_processed',",
" plugins = [':plugin'],",
- " srcs = ['ToBeProcessed.java'])");
+ " srcs = ['ToBeProcessed.java'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/test:to_be_processed");
OutputFileConfiguredTarget output = (OutputFileConfiguredTarget)
@@ -265,15 +336,22 @@
// Same test as above, enabling the plugin through the command line.
@Test
public void testPluginCommandLine() throws Exception {
- scratch.file("java/test/BUILD",
- "java_library(name = 'plugin_dep',",
- " srcs = [ 'ProcessorDep.java'])",
- "java_plugin(name = 'plugin',",
+ scratch.file(
+ "java/test/BUILD",
+ "java_library(",
+ " name = 'plugin_dep',",
+ " srcs = [ 'ProcessorDep.java'],",
+ ")",
+ "java_plugin(",
+ " name = 'plugin',",
" srcs = ['AnnotationProcessor.java'],",
" processor_class = 'com.google.process.stuff',",
- " deps = [ ':plugin_dep' ])",
- "android_library(name = 'to_be_processed',",
- " srcs = ['ToBeProcessed.java'])");
+ " deps = [ ':plugin_dep' ],",
+ ")",
+ "android_library(",
+ " name = 'to_be_processed',",
+ " srcs = ['ToBeProcessed.java'],",
+ ")");
useConfiguration("--plugin=//java/test:plugin");
ConfiguredTarget target = getConfiguredTarget("//java/test:to_be_processed");
@@ -295,47 +373,79 @@
@Test
public void testInvalidPlugin() throws Exception {
- checkError("java/test", "lib",
+ checkError(
+ "java/test",
+ "lib",
// error:
- getErrorMsgMisplacedRules("plugins", "android_library",
- "//java/test:lib", "java_library", "//java/test:not_a_plugin"),
+ getErrorMsgMisplacedRules(
+ "plugins",
+ "android_library",
+ "//java/test:lib",
+ "java_library",
+ "//java/test:not_a_plugin"),
// BUILD file:
- "java_library(name = 'not_a_plugin',",
- " srcs = [ 'NotAPlugin.java'])",
- "android_library(name = 'lib',",
+ "java_library(",
+ " name = 'not_a_plugin',",
+ " srcs = ['NotAPlugin.java'],",
+ ")",
+ "android_library(",
+ " name = 'lib',",
" plugins = [':not_a_plugin'],",
- " srcs = ['Lib.java'])");
+ " srcs = ['Lib.java'],",
+ ")");
}
@Test
public void testDisallowDepsWithoutSrcsWarning() throws Exception {
useConfiguration("--experimental_allow_android_library_deps_without_srcs=true");
- checkWarning("android/deps", "b",
+ checkWarning(
+ "android/deps",
+ "b",
// message:
"android_library will be deprecating the use of deps to export targets implicitly",
// build file
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'b', deps = [':a'])");
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " deps = [':a'],",
+ ")");
}
@Test
public void testDisallowDepsWithoutSrcsError() throws Exception {
- checkError("android/deps", "b",
+ checkError(
+ "android/deps",
+ "b",
// message:
"android_library will be deprecating the use of deps to export targets implicitly",
// build file
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'b', deps = [':a'])");
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " deps = [':a'],",
+ ")");
}
@Test
public void testAlwaysAllowDepsWithoutSrcsIfLocalResources() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'r',",
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'r',",
" manifest = 'AndroidManifest.xml',",
" resource_files = glob(['res/**']),",
- " deps = [':a'])");
+ " deps = [':a'],",
+ ")");
scratch.file("java/android/res/values/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
@@ -348,17 +458,26 @@
@Test
public void testTransitiveDependencyThroughExports() throws Exception {
- scratch.file("java/test/BUILD",
- "android_library(name = 'somelib',",
+ scratch.file(
+ "java/test/BUILD",
+ "android_library(",
+ " name = 'somelib',",
" srcs = ['Lib.java'],",
- " deps = [':somealias'])",
- "android_library(name = 'somealias',",
- " exports = [':somedep'])",
- "android_library(name = 'somedep',",
+ " deps = [':somealias'],",
+ ")",
+ "android_library(",
+ " name = 'somealias',",
+ " exports = [':somedep'],",
+ ")",
+ "android_library(",
+ " name = 'somedep',",
" srcs = ['Dependency.java'],",
- " deps = [ ':otherdep' ])",
- "android_library(name = 'otherdep',",
- " srcs = ['OtherDependency.java'])");
+ " deps = [ ':otherdep' ],",
+ ")",
+ "android_library(",
+ " name = 'otherdep',",
+ " srcs = ['OtherDependency.java'],",
+ ")");
ConfiguredTarget libTarget = getConfiguredTarget("//java/test:somelib");
assertThat(actionsTestUtil().predecessorClosureAsCollection(getFilesToBuild(libTarget),
JavaSemantics.JAVA_SOURCE)).containsExactly(
@@ -368,10 +487,21 @@
@Test
public void testTransitiveStrictDeps() throws Exception {
- scratch.file("java/peach/BUILD",
- "android_library(name='a', exports=[':b'])",
- "android_library(name='b', srcs=['B.java'], deps=[':c'])",
- "android_library(name='c', srcs=['C.java'])");
+ scratch.file(
+ "java/peach/BUILD",
+ "android_library(",
+ " name='a',",
+ " exports=[':b'],",
+ ")",
+ "android_library(",
+ " name='b',",
+ " srcs=['B.java'],",
+ " deps=[':c'],",
+ ")",
+ "android_library(",
+ " name='c',",
+ " srcs=['C.java'],",
+ ")");
useConfiguration("--strict_java_deps=ERROR");
@@ -386,9 +516,16 @@
@Test
public void testEmitOutputDeps() throws Exception {
- scratch.file("java/deps/BUILD",
- "android_library(name = 'a', exports = [':b'])",
- "android_library(name = 'b', srcs = ['B.java'])");
+ scratch.file(
+ "java/deps/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " exports = [':b'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['B.java'],",
+ ")");
useConfiguration("--java_deps");
@@ -404,12 +541,33 @@
@Test
public void testDependencyArtifactsWithExports() throws Exception {
- scratch.file("java/classpath/BUILD",
- "android_library(name = 'a', srcs = ['A.java'], deps = [':b', ':c'])",
- "android_library(name = 'b', exports = [':d'])",
- "android_library(name = 'c', srcs = ['C.java'], exports = [':e'])",
- "android_library(name = 'd', srcs = ['D.java'])",
- "android_library(name = 'e', srcs = ['E.java'])");
+ scratch.file(
+ "java/classpath/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['A.java'],",
+ " deps = [",
+ " ':b',",
+ " ':c',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " exports = [':d'],",
+ ")",
+ "android_library(",
+ " name = 'c',",
+ " srcs = ['C.java'],",
+ " exports = [':e'],",
+ ")",
+ "android_library(",
+ " name = 'd',",
+ " srcs = ['D.java'],",
+ ")",
+ "android_library(",
+ " name = 'e',",
+ " srcs = ['E.java'],",
+ ")");
SpawnAction aAction = (SpawnAction) getGeneratingActionForLabel("//java/classpath:liba.jar");
List<String> deps =
@@ -428,17 +586,34 @@
"java/deps",
"b",
"android_library will be deprecating the use of deps to export targets implicitly",
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'b', deps = ['a'])"
- );
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " deps = ['a'],",
+ ")");
}
@Test
public void testExportsWithStrictJavaDepsFlag() throws Exception {
- scratch.file("java/exports/BUILD",
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'b', srcs = ['b.java'], exports = ['a'])",
- "android_library(name = 'c', srcs = ['c.java'], deps = [':b'])");
+ scratch.file(
+ "java/exports/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['b.java'],",
+ " exports = ['a'],",
+ ")",
+ "android_library(",
+ " name = 'c',",
+ " srcs = ['c.java'],",
+ " deps = [':b'],",
+ ")");
useConfiguration("--strict_java_deps=WARN");
@@ -451,9 +626,18 @@
@Test
public void testExportsRunfiles() throws Exception {
- scratch.file("java/exports/BUILD",
- "android_library(name = 'a', srcs = ['a.java'], data = ['data.txt'])",
- "android_library(name = 'b', srcs = ['b.java'], exports = [':a'])");
+ scratch.file(
+ "java/exports/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ " data = ['data.txt'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['b.java'],",
+ " exports = [':a'],",
+ ")");
ConfiguredTarget bTarget = getConfiguredTarget("//java/exports:b");
@@ -464,18 +648,27 @@
@Test
public void testTransitiveExports() throws Exception {
- scratch.file("java/com/google/exports/BUILD",
- "android_library(name = 'dummy',",
+ scratch.file(
+ "java/com/google/exports/BUILD",
+ "android_library(",
+ " name = 'dummy',",
" srcs = ['dummy.java'],",
- " exports = [':dummy2'])",
- "android_library(name = 'dummy2',",
+ " exports = [':dummy2'],",
+ ")",
+ "android_library(",
+ " name = 'dummy2',",
" srcs = ['dummy2.java'],",
- " exports = [':dummy3'])",
- "android_library(name = 'dummy3',",
+ " exports = [':dummy3'],",
+ ")",
+ "android_library(",
+ " name = 'dummy3',",
" srcs = ['dummy3.java'],",
- " exports = [':dummy4'])",
- "android_library(name = 'dummy4',",
- " srcs = ['dummy4.java'])");
+ " exports = [':dummy4'],",
+ ")",
+ "android_library(",
+ " name = 'dummy4',",
+ " srcs = ['dummy4.java'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/com/google/exports:dummy");
List<Label> exports =
@@ -491,9 +684,12 @@
@Test
public void testSimpleIdl() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'idl',",
- " idl_srcs = ['a.aidl'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'idl',",
+ " idl_srcs = ['a.aidl'],",
+ ")");
getConfiguredTarget("//java/android:idl");
assertNoEvents();
}
@@ -503,9 +699,12 @@
reporter.removeHandler(failFastHandler);
scratch.file("java/android/a/BUILD",
"exports_files(['A.aidl'])");
- scratch.file("java/android/BUILD",
- "android_library(name = 'idl',",
- " idl_srcs = ['//java/android/a:A.aidl'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'idl',",
+ " idl_srcs = ['//java/android/a:A.aidl'],",
+ ")");
getConfiguredTarget("//java/android:idl");
assertContainsEvent("do not import '//java/android/a:A.aidl' directly. You should either"
+ " move the file to this package or depend on an appropriate rule there");
@@ -513,9 +712,16 @@
@Test
public void testIdlClassJarAction() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'idl',",
- " idl_srcs = ['a.aidl', 'b.aidl', 'c.aidl'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'idl',",
+ " idl_srcs = [",
+ " 'a.aidl',",
+ " 'b.aidl',",
+ " 'c.aidl',",
+ " ],",
+ ")");
ConfiguredTarget idlTarget =
getConfiguredTarget("//java/android:idl");
NestedSet<Artifact> outputGroup =
@@ -541,12 +747,17 @@
@Test
public void testIdlOutputGroupTransitivity() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'lib',",
- " idl_srcs = ['a.aidl'],",
- " deps = [':dep'])",
- "android_library(name = 'dep',",
- " idl_srcs = ['b.aidl'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'lib',",
+ " idl_srcs = ['a.aidl'],",
+ " deps = [':dep'],",
+ ")",
+ "android_library(",
+ " name = 'dep',",
+ " idl_srcs = ['b.aidl'],",
+ ")");
ConfiguredTarget idlTarget =
getConfiguredTarget("//java/android:lib");
NestedSet<Artifact> outputGroup =
@@ -565,31 +776,43 @@
@Test
public void testNoJavaDir() throws Exception {
- checkError("android/hello", "idl",
+ checkError(
+ "android/hello",
+ "idl",
// message:
"Cannot determine java/javatests root for import android/hello/Import.aidl",
// build file:
- "android_library(name = 'idl',",
- " srcs = ['Import.java'],",
- " idl_parcelables = ['Import.aidl'])");
+ "android_library(",
+ " name = 'idl',",
+ " srcs = ['Import.java'],",
+ " idl_parcelables = ['Import.aidl'],",
+ ")");
}
@Test
public void testExportedPluginsAreInherited() throws Exception {
scratch.file(
"java/test/BUILD",
- "java_plugin(name = 'plugin',",
+ "java_plugin(",
+ " name = 'plugin',",
" srcs = [ 'Plugin.java' ],",
- " processor_class = 'com.google.process.stuff')",
- "android_library(name = 'exporting_lib',",
+ " processor_class = 'com.google.process.stuff',",
+ ")",
+ "android_library(",
+ " name = 'exporting_lib',",
" srcs = [ 'ExportingLib.java' ],",
- " exported_plugins = [ ':plugin' ])",
- "android_library(name = 'consuming_lib',",
+ " exported_plugins = [ ':plugin' ],",
+ ")",
+ "android_library(",
+ " name = 'consuming_lib',",
" srcs = [ 'ConsumingLib.java' ],",
- " deps = [ ':exporting_lib' ])",
- "android_library(name = 'leaf_lib',",
+ " deps = [ ':exporting_lib' ],",
+ ")",
+ "android_library(",
+ " name = 'leaf_lib',",
" srcs = [ 'LeafLib.java' ],",
- " deps = [ ':consuming_lib' ])");
+ " deps = [ ':consuming_lib' ],",
+ ")");
getConfiguredTarget("//java/test:consuming_lib");
getConfiguredTarget("//java/test:leaf_lib");
@@ -604,38 +827,51 @@
public void testAidlLibAddsProguardSpecs() throws Exception {
scratch.file(
"sdk/BUILD",
- "android_sdk(name = 'sdk',",
- " aapt = 'aapt',",
- " adb = 'adb',",
- " aidl = 'aidl',",
- " aidl_lib = ':aidl_lib',",
- " android_jar = 'android.jar',",
- " apksigner = 'apksigner',",
- " dx = 'dx',",
- " framework_aidl = 'framework_aidl',",
- " main_dex_classes = 'main_dex_classes',",
- " main_dex_list_creator = 'main_dex_list_creator',",
- " proguard = 'proguard',",
- " shrinked_android_jar = 'shrinked_android_jar',",
- " zipalign = 'zipalign')",
- "java_library(name = 'aidl_lib',",
- " srcs = ['AidlLib.java'],",
- " proguard_specs = ['aidl_lib.cfg'])");
+ "android_sdk(",
+ " name = 'sdk',",
+ " aapt = 'aapt',",
+ " adb = 'adb',",
+ " aidl = 'aidl',",
+ " aidl_lib = ':aidl_lib',",
+ " android_jar = 'android.jar',",
+ " apksigner = 'apksigner',",
+ " dx = 'dx',",
+ " framework_aidl = 'framework_aidl',",
+ " main_dex_classes = 'main_dex_classes',",
+ " main_dex_list_creator = 'main_dex_list_creator',",
+ " proguard = 'proguard',",
+ " shrinked_android_jar = 'shrinked_android_jar',",
+ " zipalign = 'zipalign',",
+ ")",
+ "java_library(",
+ " name = 'aidl_lib',",
+ " srcs = ['AidlLib.java'],",
+ " proguard_specs = ['aidl_lib.cfg'],",
+ ")");
- scratch.file("java/com/google/android/hello/BUILD",
- "android_library(name = 'library',",
- " srcs = ['MainActivity.java'],",
- " idl_srcs = ['IMyInterface.aidl'])",
- "android_library(name = 'library_no_idl',",
- " srcs = ['MainActivity.java'])",
- "android_binary(name = 'binary',",
- " deps = [':library'],",
- " manifest = 'AndroidManifest.xml',",
- " proguard_specs = ['proguard-spec.pro'])",
- "android_binary(name = 'binary_no_idl',",
- " deps = [':library_no_idl'],",
- " manifest = 'AndroidManifest.xml',",
- " proguard_specs = ['proguard-spec.pro'])");
+ scratch.file(
+ "java/com/google/android/hello/BUILD",
+ "android_library(",
+ " name = 'library',",
+ " srcs = ['MainActivity.java'],",
+ " idl_srcs = ['IMyInterface.aidl'],",
+ ")",
+ "android_library(",
+ " name = 'library_no_idl',",
+ " srcs = ['MainActivity.java'],",
+ ")",
+ "android_binary(",
+ " name = 'binary',",
+ " deps = [':library'],",
+ " manifest = 'AndroidManifest.xml',",
+ " proguard_specs = ['proguard-spec.pro'],",
+ ")",
+ "android_binary(",
+ " name = 'binary_no_idl',",
+ " deps = [':library_no_idl'],",
+ " manifest = 'AndroidManifest.xml',",
+ " proguard_specs = ['proguard-spec.pro'],",
+ ")");
useConfiguration("--android_sdk=//sdk:sdk");
// Targets with AIDL-generated sources also get AIDL support lib Proguard specs
@@ -671,14 +907,16 @@
@Test
public void testResourcesMultipleDirectoriesFromPackage() throws Exception {
- scratch.file("c/b/m/a/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " custom_package = 'com.google.android.apps.a',",
- " resource_files = [",
- " 'b_/res/values/strings.xml',",
- " ]",
- " )");
+ scratch.file(
+ "c/b/m/a/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " custom_package = 'com.google.android.apps.a',",
+ " resource_files = [",
+ " 'b_/res/values/strings.xml',",
+ " ],",
+ ")");
scratch.file("c/b/m/a/b_/res",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
ConfiguredTarget resource = getConfiguredTarget("//c/b/m/a:r");
@@ -689,11 +927,13 @@
@Test
public void testSimpleResources() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = glob(['res/**']),",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = glob(['res/**']),",
+ ")");
scratch.file("java/android/res/values/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
ConfiguredTarget resource = getConfiguredTarget("//java/android:r");
@@ -704,11 +944,13 @@
@Test
public void testResourcesWithConfigurationQualifier() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = glob(['res/**']),",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = glob(['res/**']),",
+ ")");
scratch.file("java/android/res/values-en/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
scratch.file("java/android/res/values/strings.xml",
@@ -721,11 +963,13 @@
@Test
public void testResourcesInOtherPackage_exported() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['//java/other:res/values/strings.xml'],",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['//java/other:res/values/strings.xml'],",
+ ")");
scratch.file("java/other/BUILD",
"exports_files(['res/values/strings.xml'])");
ConfiguredTarget resource = getConfiguredTarget("//java/android:r");
@@ -737,14 +981,18 @@
@Test
public void testResourcesInOtherPackage_filegroup() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['//java/other:fg'],",
- " )");
- scratch.file("java/other/BUILD",
- "filegroup(name = 'fg',",
- " srcs = ['res/values/strings.xml'],",
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['//java/other:fg'],",
+ ")");
+ scratch.file(
+ "java/other/BUILD",
+ "filegroup(",
+ " name = 'fg',",
+ " srcs = ['res/values/strings.xml'],",
")");
ConfiguredTarget resource = getConfiguredTarget("//java/android:r");
@@ -756,13 +1004,17 @@
// Regression test for b/11924769
@Test
public void testResourcesInOtherPackage_filegroupWithExternalSources() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = [':fg'],",
- " )",
- "filegroup(name = 'fg',",
- " srcs = ['//java/other:res/values/strings.xml'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = [':fg'],",
+ ")",
+ "filegroup(",
+ " name = 'fg',",
+ " srcs = ['//java/other:res/values/strings.xml'],",
+ ")");
scratch.file("java/other/BUILD",
"exports_files(['res/values/strings.xml'])");
ConfiguredTarget resource = getConfiguredTarget("//java/android:r");
@@ -775,16 +1027,22 @@
// Regression test for b/11924769
@Test
public void testResourcesInOtherPackage_doubleFilegroup() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = [':fg'],",
- " )",
- "filegroup(name = 'fg',",
- " srcs = ['//java/other:fg'])");
- scratch.file("java/other/BUILD",
- "filegroup(name = 'fg',",
- " srcs = ['res/values/strings.xml'],",
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = [':fg'],",
+ ")",
+ "filegroup(",
+ " name = 'fg',",
+ " srcs = ['//java/other:fg'],",
+ ")");
+ scratch.file(
+ "java/other/BUILD",
+ "filegroup(",
+ " name = 'fg',",
+ " srcs = ['res/values/strings.xml'],",
")");
ConfiguredTarget resource = getConfiguredTarget("//java/android:r");
@@ -795,89 +1053,126 @@
@Test
public void testManifestMissingFails() throws Exception {
- checkError("java/android", "r",
+ checkError(
+ "java/android",
+ "r",
"is required when resource_files or assets are defined.",
"filegroup(name = 'b')",
- "android_library(name = 'r',",
- " resource_files = [':b'],",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " resource_files = [':b'],",
+ ")");
}
@Test
public void testResourcesDoesNotMatchDirectoryLayout_BadFile() throws Exception {
- checkError("java/android", "r",
+ checkError(
+ "java/android",
+ "r",
"'java/android/res/somefile.xml' is not in the expected resource directory structure of"
+ " <resource directory>/{"
- + Joiner.on(',').join(AndroidResources.RESOURCE_DIRECTORY_TYPES) + "}",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/somefile.xml', 'r/t/f/m/raw/fold']",
- " )");
+ + Joiner.on(',').join(AndroidResources.RESOURCE_DIRECTORY_TYPES)
+ + "}",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = [",
+ " 'res/somefile.xml',",
+ " 'r/t/f/m/raw/fold',",
+ " ],",
+ ")");
}
@Test
public void testResourcesDoesNotMatchDirectoryLayout_BadDirectory() throws Exception {
- checkError("java/android", "r",
+ checkError(
+ "java/android",
+ "r",
"'java/android/res/other/somefile.xml' is not in the expected resource directory structure"
+ " of <resource directory>/{"
- + Joiner.on(',').join(AndroidResources.RESOURCE_DIRECTORY_TYPES) + "}",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/other/somefile.xml', 'r/t/f/m/raw/fold']",
- " )");
+ + Joiner.on(',').join(AndroidResources.RESOURCE_DIRECTORY_TYPES)
+ + "}",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = [",
+ " 'res/other/somefile.xml',",
+ " 'r/t/f/m/raw/fold',",
+ " ],",
+ ")");
}
@Test
public void testResourcesNotUnderCommonDirectoryFails() throws Exception {
- checkError("java/android", "r",
+ checkError(
+ "java/android",
+ "r",
"'java/android/r/t/f/m/raw/fold' (generated by '//java/android:r/t/f/m/raw/fold') is not"
+ " in the same directory 'res' (derived from java/android/res/raw/speed). All"
+ " resources must share a common directory.",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/raw/speed', 'r/t/f/m/raw/fold']",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = [",
+ " 'res/raw/speed',",
+ " 'r/t/f/m/raw/fold',",
+ " ],",
+ ")");
}
@Test
public void testAssetsDirAndNoAssetsFails() throws Exception {
- checkError("cpp/android", "r",
+ checkError(
+ "cpp/android",
+ "r",
"'assets' and 'assets_dir' should be either both empty or both non-empty",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " assets_dir = 'assets',",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " assets_dir = 'assets',",
+ ")");
}
@Test
public void testAssetsNotUnderAssetsDirFails() throws Exception {
- checkError("java/android", "r",
+ checkError(
+ "java/android",
+ "r",
"'java/android/r/t/f/m' (generated by '//java/android:r/t/f/m') is not beneath 'assets'",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " assets_dir = 'assets',",
- " assets = ['assets/valuable', 'r/t/f/m']",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " assets_dir = 'assets',",
+ " assets = [",
+ " 'assets/valuable',",
+ " 'r/t/f/m',",
+ " ]",
+ ")");
}
@Test
public void testAssetsAndNoAssetsDirFails() throws Exception {
scratch.file("java/android/assets/values/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
- checkError("java/android", "r",
+ checkError(
+ "java/android",
+ "r",
"'assets' and 'assets_dir' should be either both empty or both non-empty",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " assets = glob(['assets/**']),",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " assets = glob(['assets/**']),",
+ ")");
}
@Test
public void testFileLocation() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ ")");
ConfiguredTarget foo = getConfiguredTarget("//java/android:r");
assertThat(
ActionsTestUtil.getFirstArtifactEndingWith(getFilesToBuild(foo), "r.srcjar").getRoot())
@@ -887,7 +1182,9 @@
// regression test for #3294893
@Test
public void testNoJavaPathFoundDoesNotThrow() throws Exception {
- checkError("third_party/java_src/android/app", "r",
+ checkError(
+ "third_party/java_src/android/app",
+ "r",
"The location of your BUILD file determines the Java package used for Android resource "
+ "processing. A directory named \"java\" or \"javatests\" will be used as your Java "
+ "source root and the path of your BUILD file relative to the Java source root will "
@@ -895,20 +1192,23 @@
+ "not be determined for \"third_party/java_src/android/app\". Move your BUILD file "
+ "under a java or javatests directory, or set the 'custom_package' attribute.",
"licenses(['notice'])",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ ")");
}
@Test
public void testWithRenameManifestPackage() throws Exception {
- scratch.file("a/r/BUILD",
- "android_library(name = 'r',",
- " srcs = ['Foo.java'],",
- " custom_package = 'com.google.android.bar',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/values/strings.xml'],",
- " )");
+ scratch.file(
+ "a/r/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " srcs = ['Foo.java'],",
+ " custom_package = 'com.google.android.bar',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/values/strings.xml'],",
+ ")");
ConfiguredTarget r = getConfiguredTarget("//a/r:r");
assertNoEvents();
List<String> args = getGeneratingSpawnActionArgs(getResourceArtifact(r));
@@ -918,10 +1218,12 @@
@Test
public void testDebugConfiguration() throws Exception {
- scratch.file("java/apps/android/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " )");
+ scratch.file(
+ "java/apps/android/BUILD",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ ")");
checkDebugMode("//java/apps/android:r", true);
useConfiguration("--compilation_mode=opt");
checkDebugMode("//java/apps/android:r", false);
@@ -929,19 +1231,31 @@
@Test
public void testNeverlinkResources_AndroidResourcesInfo() throws Exception {
- scratch.file("java/apps/android/BUILD",
- "android_library(name = 'foo',",
- " manifest = 'AndroidManifest.xml',",
- " deps = [':lib', ':lib_neverlink'])",
- "android_library(name = 'lib_neverlink',",
- " neverlink = 1,",
- " manifest = 'AndroidManifest.xml',",
- " deps = [':bar'])",
- "android_library(name = 'lib',",
- " manifest = 'AndroidManifest.xml',",
- " deps = [':bar'])",
- "android_library(name = 'bar',",
- " manifest = 'AndroidManifest.xml')");
+ scratch.file(
+ "java/apps/android/BUILD",
+ "android_library(",
+ " name = 'foo',",
+ " manifest = 'AndroidManifest.xml',",
+ " deps = [",
+ " ':lib',",
+ " ':lib_neverlink',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 'lib_neverlink',",
+ " neverlink = 1,",
+ " manifest = 'AndroidManifest.xml',",
+ " deps = [':bar'],",
+ ")",
+ "android_library(",
+ " name = 'lib',",
+ " manifest = 'AndroidManifest.xml',",
+ " deps = [':bar'],",
+ ")",
+ "android_library(",
+ " name = 'bar',",
+ " manifest = 'AndroidManifest.xml',",
+ ")");
Function<ValidatedAndroidResources, Label> getLabel = ValidatedAndroidResources::getLabel;
ConfiguredTarget foo = getConfiguredTarget("//java/apps/android:foo");
assertThat(
@@ -974,15 +1288,25 @@
@Test
public void testNeverlinkResources_compileAndRuntimeJars() throws Exception {
- scratch.file("java/apps/android/BUILD",
- "android_library(name = 'foo',",
- " manifest = 'AndroidManifest.xml',",
- " exports = [':lib', ':lib_neverlink'],)",
- "android_library(name = 'lib_neverlink',",
- " neverlink = 1,",
- " manifest = 'AndroidManifest.xml',)",
- "android_library(name = 'lib',",
- " manifest = 'AndroidManifest.xml',)");
+ scratch.file(
+ "java/apps/android/BUILD",
+ "android_library(",
+ " name = 'foo',",
+ " manifest = 'AndroidManifest.xml',",
+ " exports = [",
+ " ':lib',",
+ " ':lib_neverlink',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 'lib_neverlink',",
+ " neverlink = 1,",
+ " manifest = 'AndroidManifest.xml',",
+ ")",
+ "android_library(",
+ " name = 'lib',",
+ " manifest = 'AndroidManifest.xml',",
+ ")");
ConfiguredTarget foo = getConfiguredTarget("//java/apps/android:foo");
ConfiguredTarget lib = getConfiguredTarget("//java/apps/android:lib");
@@ -1019,10 +1343,11 @@
// smaller actions.
scratch.file(
"java/android/app/foo/BUILD",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = glob(['res/**']),",
- " )");
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = glob(['res/**']),",
+ ")");
scratch.file(
"java/android/app/foo/res/values/strings.xml",
"<resources>",
@@ -1071,16 +1396,24 @@
@Test
public void testGeneratedManifestPackage() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'l',",
- " srcs = ['foo.java'])",
- "android_library(name = 'l2',",
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'l',",
+ " srcs = ['foo.java'],",
+ ")",
+ "android_library(",
+ " name = 'l2',",
" custom_package = 'foo',",
- " srcs = ['foo.java'])");
- scratch.file("third_party/android/BUILD",
+ " srcs = ['foo.java'],",
+ ")");
+ scratch.file(
+ "third_party/android/BUILD",
"licenses(['notice'])",
- "android_library(name = 'l',",
- " srcs = ['foo.java'])");
+ "android_library(",
+ " name = 'l',",
+ " srcs = ['foo.java'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android:l");
Artifact manifest = getBinArtifact("_generated/l/AndroidManifest.xml", target);
@@ -1100,13 +1433,18 @@
@Test
public void testGeneratedIdlSrcs() throws Exception {
- scratch.file("java/android/BUILD",
- "genrule(name = 'idl',",
- " outs = ['MyInterface.aidl'],",
- " cmd = 'touch $@')",
- "android_library(name = 'lib',",
- " idl_srcs = [':idl'],",
- " idl_parcelables = ['MyParcelable.aidl'])");
+ scratch.file(
+ "java/android/BUILD",
+ "genrule(",
+ " name = 'idl',",
+ " outs = ['MyInterface.aidl'],",
+ " cmd = 'touch $@',",
+ ")",
+ "android_library(",
+ " name = 'lib',",
+ " idl_srcs = [':idl'],",
+ " idl_parcelables = ['MyParcelable.aidl'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android:lib");
PathFragment genfilesJavaPath =
@@ -1122,26 +1460,38 @@
@Test
public void testMultipleLibsSameIdls() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'idl1',",
- " idl_srcs = ['MyInterface.aidl'])",
- "android_library(name = 'idl2',",
- " idl_srcs = ['MyInterface.aidl'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'idl1',",
+ " idl_srcs = ['MyInterface.aidl'],",
+ ")",
+ "android_library(",
+ " name = 'idl2',",
+ " idl_srcs = ['MyInterface.aidl'],",
+ ")");
getConfiguredTarget("//java/android:idl1");
getConfiguredTarget("//java/android:idl2");
}
@Test
public void testIdeInfoProvider() throws Exception {
- scratch.file("java/android/BUILD",
- "genrule(name='genrule', srcs=[], outs=['assets/genrule.so'], cmd='')",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " idl_srcs = [ 'MyInterface.aidl' ],",
- " resource_files = glob(['res/**']),",
- " assets_dir = 'assets',",
- " assets = glob(['assets/**']) + [':genrule']",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "genrule(",
+ " name='genrule',",
+ " srcs=[],",
+ " outs=['assets/genrule.so'],",
+ " cmd='',",
+ ")",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " idl_srcs = [ 'MyInterface.aidl' ],",
+ " resource_files = glob(['res/**']),",
+ " assets_dir = 'assets',",
+ " assets = glob(['assets/**']) + [':genrule']",
+ ")");
scratch.file("java/android/res/values/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
scratch.file("java/android/assets/values/orc.txt",
@@ -1164,15 +1514,22 @@
@Test
public void testIdeInfoProviderOutsideJavaRoot() throws Exception {
String rootPath = "research/handwriting/java/com/google/research/handwriting/";
- scratch.file(rootPath + "BUILD",
- "genrule(name='genrule', srcs=[], outs=['assets/genrule.so'], cmd='')",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " idl_srcs = [ 'MyInterface.aidl' ],",
- " resource_files = glob(['res/**']),",
- " assets_dir = 'assets',",
- " assets = glob(['assets/**']) + [':genrule']",
- " )");
+ scratch.file(
+ rootPath + "BUILD",
+ "genrule(",
+ " name='genrule',",
+ " srcs=[],",
+ " outs=['assets/genrule.so'],",
+ " cmd='',",
+ ")",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " idl_srcs = [ 'MyInterface.aidl' ],",
+ " resource_files = glob(['res/**']),",
+ " assets_dir = 'assets',",
+ " assets = glob(['assets/**']) + [':genrule']",
+ ")");
scratch.file(rootPath + "res/values/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
scratch.file(rootPath + "/assets/values/orc.txt",
@@ -1195,19 +1552,28 @@
@Test
public void testIdeInfoProviderGeneratedIdl() throws Exception {
- scratch.file("java/android/BUILD",
- "genrule(name='genrule', srcs=[], outs=['assets/genrule.so'], cmd='')",
- "genrule(name = 'idl',",
- " outs = ['MyGeneratedInterface.aidl'],",
- " cmd = 'touch $@')",
- "android_library(name = 'r',",
- " manifest = 'AndroidManifest.xml',",
- " idl_srcs = [ ':idl' ],",
- " idl_parcelables = [ 'MyInterface.aidl' ],",
- " resource_files = glob(['res/**']),",
- " assets_dir = 'assets',",
- " assets = glob(['assets/**']) + [':genrule']",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "genrule(",
+ " name='genrule',",
+ " srcs=[],",
+ " outs=['assets/genrule.so'],",
+ " cmd='',",
+ ")",
+ "genrule(",
+ " name = 'idl',",
+ " outs = ['MyGeneratedInterface.aidl'],",
+ " cmd = 'touch $@',",
+ ")",
+ "android_library(",
+ " name = 'r',",
+ " manifest = 'AndroidManifest.xml',",
+ " idl_srcs = [ ':idl' ],",
+ " idl_parcelables = [ 'MyInterface.aidl' ],",
+ " resource_files = glob(['res/**']),",
+ " assets_dir = 'assets',",
+ " assets = glob(['assets/**']) + [':genrule']",
+ ")");
scratch.file("java/android/res/values/strings.xml",
"<resources><string name = 'hello'>Hello Android!</string></resources>");
scratch.file("java/android/assets/values/orc.txt",
@@ -1229,11 +1595,19 @@
@Test
public void testAndroidLibraryWithMessagesDoNotCrash() throws Exception {
- scratch.file("java/com/google/atest/BUILD",
- "filegroup(name = 'sources',",
- " srcs = ['source.java', 'message.xmb'])",
- "android_library(name = 'alib',",
- " srcs = [':sources'])");
+ scratch.file(
+ "java/com/google/atest/BUILD",
+ "filegroup(",
+ " name = 'sources',",
+ " srcs = [",
+ " 'source.java',",
+ " 'message.xmb',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 'alib',",
+ " srcs = [':sources'],",
+ ")");
getConfiguredTarget("//java/com/google/atest:alib");
}
@@ -1241,20 +1615,23 @@
public void testMultipleDirectDependentResourceDirectories() throws Exception {
scratch.file(
"java/android/resources/d1/BUILD",
- "android_library(name = 'd1',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['d1-res/values/strings.xml'],",
- " assets = ['assets-d1/some/random/file'],",
- " assets_dir = 'assets-d1',",
- " deps = ['//java/android/resources/d2:d2'])");
+ "android_library(",
+ " name = 'd1',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['d1-res/values/strings.xml'],",
+ " assets = ['assets-d1/some/random/file'],",
+ " assets_dir = 'assets-d1',",
+ " deps = ['//java/android/resources/d2:d2'],",
+ ")");
scratch.file(
"java/android/resources/d2/BUILD",
- "android_library(name = 'd2',",
- " manifest = 'AndroidManifest.xml',",
- " assets = ['assets-d2/some/random/file'],",
- " assets_dir = 'assets-d2',",
- " resource_files = ['d2-res/values/strings.xml'],",
- " )");
+ "android_library(",
+ " name = 'd2',",
+ " manifest = 'AndroidManifest.xml',",
+ " assets = ['assets-d2/some/random/file'],",
+ " assets_dir = 'assets-d2',",
+ " resource_files = ['d2-res/values/strings.xml'],",
+ ")");
ConfiguredTarget resource = getConfiguredTarget("//java/android/resources/d1:d1");
List<String> args = getGeneratingSpawnActionArgs(getResourceArtifact(resource));
assertPrimaryResourceDirs(ImmutableList.of("java/android/resources/d1/d1-res"), args);
@@ -1271,29 +1648,33 @@
public void testTransitiveDependentResourceDirectories() throws Exception {
scratch.file(
"java/android/resources/d1/BUILD",
- "android_library(name = 'd1',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['d1-res/values/strings.xml'],",
- " assets = ['assets-d1/some/random/file'],",
- " assets_dir = 'assets-d1',",
- " deps = ['//java/android/resources/d2:d2'])");
+ "android_library(",
+ " name = 'd1',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['d1-res/values/strings.xml'],",
+ " assets = ['assets-d1/some/random/file'],",
+ " assets_dir = 'assets-d1',",
+ " deps = ['//java/android/resources/d2:d2']",
+ ")");
scratch.file(
"java/android/resources/d2/BUILD",
- "android_library(name = 'd2',",
- " manifest = 'AndroidManifest.xml',",
- " assets = ['assets-d2/some/random/file'],",
- " assets_dir = 'assets-d2',",
- " resource_files = ['d2-res/values/strings.xml'],",
- " deps = ['//java/android/resources/d3:d3'],",
- " )");
+ "android_library(",
+ " name = 'd2',",
+ " manifest = 'AndroidManifest.xml',",
+ " assets = ['assets-d2/some/random/file'],",
+ " assets_dir = 'assets-d2',",
+ " resource_files = ['d2-res/values/strings.xml'],",
+ " deps = ['//java/android/resources/d3:d3'],",
+ ")");
scratch.file(
"java/android/resources/d3/BUILD",
- "android_library(name = 'd3',",
- " manifest = 'AndroidManifest.xml',",
- " assets = ['assets-d3/some/random/file'],",
- " assets_dir = 'assets-d3',",
- " resource_files = ['d3-res/values/strings.xml'],",
- " )");
+ "android_library(",
+ " name = 'd3',",
+ " manifest = 'AndroidManifest.xml',",
+ " assets = ['assets-d3/some/random/file'],",
+ " assets_dir = 'assets-d3',",
+ " resource_files = ['d3-res/values/strings.xml'],",
+ ")");
ConfiguredTarget resource = getConfiguredTarget("//java/android/resources/d1:d1");
List<String> args = getGeneratingSpawnActionArgs(getResourceArtifact(resource));
@@ -1314,11 +1695,13 @@
@Test
public void testCustomJavacopts() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'a',",
- " srcs = ['A.java'],",
- " javacopts = ['-g:lines,source'],",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['A.java'],",
+ " javacopts = ['-g:lines,source'],",
+ ")");
SpawnAction javacAction = (SpawnAction) getGeneratingActionForLabel("//java/android:liba.jar");
@@ -1329,10 +1712,22 @@
@Test
public void testSrcjarStrictDeps() throws Exception {
- scratch.file("java/strict/BUILD",
- "android_library(name='a', srcs=['A.java'], deps=[':b'])",
- "android_library(name='b', srcs=['b.srcjar'], deps=[':c'])",
- "android_library(name='c', srcs=['C.java'])");
+ scratch.file(
+ "java/strict/BUILD",
+ "android_library(",
+ " name='a',",
+ " srcs=['A.java'],",
+ " deps=[':b'],",
+ ")",
+ "android_library(",
+ " name='b',",
+ " srcs=['b.srcjar'],",
+ " deps=[':c'],",
+ ")",
+ "android_library(",
+ " name='c',",
+ " srcs=['C.java'],",
+ ")");
SpawnAction javacAction = (SpawnAction) getGeneratingActionForLabel("//java/strict:liba.jar");
@@ -1342,22 +1737,35 @@
@Test
public void testDisallowPrecompiledJars() throws Exception {
- checkError("java/precompiled", "library",
+ checkError(
+ "java/precompiled",
+ "library",
// messages:
"does not produce any android_library srcs files (expected .java or .srcjar)",
// build file:
- "android_library(name = 'library',",
- " srcs = [':jar'])",
- "filegroup(name = 'jar',",
- " srcs = ['lib.jar'])");
+ "android_library(",
+ " name = 'library',",
+ " srcs = [':jar'],",
+ ")",
+ "filegroup(",
+ " name = 'jar',",
+ " srcs = ['lib.jar'],",
+ ")");
}
@Test
public void hjarPredecessors() throws Exception {
scratch.file(
"java/test/BUILD",
- "android_library(name = 'a', srcs = ['A.java'], deps = [':b'])",
- "android_library(name = 'b', srcs = ['B.java'])");
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['A.java'],",
+ " deps = [':b'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['B.java'],",
+ ")");
useConfiguration("--java_header_compilation");
Action a = getGeneratingActionForLabel("//java/test:liba.jar");
@@ -1370,29 +1778,35 @@
public void resourcesFromRuntimeDepsAreIncluded() throws Exception {
scratch.file(
"java/android/BUILD",
- "android_library(name = 'dummyParentLibrary',",
- " deps = [':dummyLibraryOne', ':dummyLibraryTwo'],",
- " srcs = ['libraryParent.java'])",
- "",
- "android_library(name = 'dummyLibraryOne',",
- " exports_manifest = 1,",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/drawable/dummyResource1.png'],",
- " srcs = ['libraryOne.java'])",
- "",
- "android_library(name = 'dummyLibraryTwo',",
- " exports_manifest = 1,",
- " neverlink = 1,",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/drawable/dummyResource2.png'],",
- " deps = ['dummyLibraryNested'],",
- " srcs = ['libraryTwo.java'])",
- "",
- "android_library(name = 'dummyLibraryNested',",
- " exports_manifest = 1,",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/drawable/dummyResource1.png'],",
- " srcs = ['libraryOne.java'])");
+ "android_library(",
+ " name = 'dummyParentLibrary',",
+ " deps = [':dummyLibraryOne',",
+ " ':dummyLibraryTwo'],",
+ " srcs = ['libraryParent.java'],",
+ ")",
+ "android_library(",
+ " name = 'dummyLibraryOne',",
+ " exports_manifest = 1,",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/drawable/dummyResource1.png'],",
+ " srcs = ['libraryOne.java'],",
+ ")",
+ "android_library(",
+ " name = 'dummyLibraryTwo',",
+ " exports_manifest = 1,",
+ " neverlink = 1,",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/drawable/dummyResource2.png'],",
+ " deps = ['dummyLibraryNested'],",
+ " srcs = ['libraryTwo.java'],",
+ ")",
+ "android_library(",
+ " name = 'dummyLibraryNested',",
+ " exports_manifest = 1,",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/drawable/dummyResource1.png'],",
+ " srcs = ['libraryOne.java'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android:dummyLibraryOne");
AndroidLibraryAarInfo provider = target.get(AndroidLibraryAarInfo.PROVIDER);
@@ -1426,21 +1840,22 @@
" main_dex_list_creator = 'main_dex_list_creator',",
" proguard = 'proguard',",
" shrinked_android_jar = 'shrinked_android_jar',",
- " zipalign = 'zipalign')");
+ " zipalign = 'zipalign',",
+ ")");
scratch.file(
"java/a/BUILD",
"android_library(",
- " name = 'a', ",
- " srcs = ['A.java'],",
- " deps = [':b'],",
- " manifest = 'a/AndroidManifest.xml',",
- " resource_files = [ 'res/values/a.xml' ]",
+ " name = 'a', ",
+ " srcs = ['A.java'],",
+ " deps = [':b'],",
+ " manifest = 'a/AndroidManifest.xml',",
+ " resource_files = ['res/values/a.xml'],",
")",
"android_library(",
- " name = 'b', ",
- " srcs = ['B.java'],",
- " manifest = 'b/AndroidManifest.xml',",
- " resource_files = [ 'res/values/b.xml' ]",
+ " name = 'b', ",
+ " srcs = ['B.java'],",
+ " manifest = 'b/AndroidManifest.xml',",
+ " resource_files = ['res/values/b.xml'],",
")");
useConfiguration("--android_sdk=//sdk:sdk");
@@ -1491,10 +1906,10 @@
scratch.file(
"java/a/BUILD",
"android_library(",
- " name = 'a', ",
- " srcs = ['A.java'],",
- " manifest = 'a/AndroidManifest.xml',",
- " resource_files = [ 'res/values/a.xml' ]",
+ " name = 'a', ",
+ " srcs = ['A.java'],",
+ " manifest = 'a/AndroidManifest.xml',",
+ " resource_files = ['res/values/a.xml'],",
")");
ConfiguredTarget a = getConfiguredTarget("//java/a:a");
@@ -1527,15 +1942,16 @@
" main_dex_list_creator = 'main_dex_list_creator',",
" proguard = 'proguard',",
" shrinked_android_jar = 'shrinked_android_jar',",
- " zipalign = 'zipalign')");
+ " zipalign = 'zipalign',",
+ ")");
scratch.file(
"java/a/BUILD",
"android_library(",
- " name = 'a', ",
- " srcs = ['A.java'],",
- " enable_data_binding = 1,",
- " manifest = 'a/AndroidManifest.xml',",
- " resource_files = [ 'res/values/a.xml' ]",
+ " name = 'a', ",
+ " srcs = ['A.java'],",
+ " enable_data_binding = 1,",
+ " manifest = 'a/AndroidManifest.xml',",
+ " resource_files = ['res/values/a.xml']",
")");
useConfiguration("--android_sdk=//sdk:sdk");
ConfiguredTarget a = getConfiguredTarget("//java/a:a");
@@ -1554,10 +1970,10 @@
scratch.file(
"java/a/BUILD",
"android_library(",
- " name = 'a', ",
- " srcs = ['A.java'],",
- " manifest = 'a/AndroidManifest.xml',",
- " resource_files = [ 'res/values/a.xml' ]",
+ " name = 'a', ",
+ " srcs = ['A.java'],",
+ " manifest = 'a/AndroidManifest.xml',",
+ " resource_files = ['res/values/a.xml'],",
")");
ConfiguredTarget target = getConfiguredTarget("//java/a:a");
@@ -1575,17 +1991,20 @@
public void testAndroidLibrary_SrcsLessDepsHostConfigurationNoOverride() throws Exception {
scratch.file(
"java/srclessdeps/BUILD",
- "android_library(name = 'dep_for_foo',",
- " srcs = ['a.java'],",
- " )",
- "android_library(name = 'foo',",
- " deps = [':dep_for_foo'],",
- " )",
- "genrule(name = 'some_genrule',",
- " tools = [':foo'],",
- " outs = ['some_outs'],",
- " cmd = '$(location :foo) do_something $@',",
- " )");
+ "android_library(",
+ " name = 'dep_for_foo',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'foo',",
+ " deps = [':dep_for_foo'],",
+ ")",
+ "genrule(",
+ " name = 'some_genrule',",
+ " tools = [':foo'],",
+ " outs = ['some_outs'],",
+ " cmd = '$(location :foo) do_something $@',",
+ ")");
useConfiguration("--experimental_allow_android_library_deps_without_srcs");
// genrule builds its tools using the host configuration.
@@ -1600,15 +2019,20 @@
@Test
public void testAndroidLibraryValidatesProguardSpec() throws Exception {
- scratch.file("java/com/google/android/hello/BUILD",
- "android_library(name = 'l2',",
- " srcs = ['MoreMaps.java'],",
- " proguard_specs = ['library_spec.cfg'])",
- "android_binary(name = 'b',",
- " srcs = ['HelloApp.java'],",
- " manifest = 'AndroidManifest.xml',",
- " deps = [':l2'],",
- " proguard_specs = ['proguard-spec.pro'])");
+ scratch.file(
+ "java/com/google/android/hello/BUILD",
+ "android_library(",
+ " name = 'l2',",
+ " srcs = ['MoreMaps.java'],",
+ " proguard_specs = ['library_spec.cfg'],",
+ ")",
+ "android_binary(",
+ " name = 'b',",
+ " srcs = ['HelloApp.java'],",
+ " manifest = 'AndroidManifest.xml',",
+ " deps = [':l2'],",
+ " proguard_specs = ['proguard-spec.pro'],",
+ ")");
Set<Artifact> transitiveArtifacts =
actionsTestUtil()
.artifactClosureOf(
@@ -1628,13 +2052,18 @@
@Test
public void testAndroidLibraryValidatesProguardSpecWithoutBinary() throws Exception {
- scratch.file("java/com/google/android/hello/BUILD",
- "android_library(name = 'l2',",
- " srcs = ['MoreMaps.java'],",
- " proguard_specs = ['library_spec.cfg'])",
- "android_library(name = 'l3',",
- " srcs = ['MoreMaps.java'],",
- " deps = [':l2'])");
+ scratch.file(
+ "java/com/google/android/hello/BUILD",
+ "android_library(",
+ " name = 'l2',",
+ " srcs = ['MoreMaps.java'],",
+ " proguard_specs = ['library_spec.cfg'],",
+ ")",
+ "android_library(",
+ " name = 'l3',",
+ " srcs = ['MoreMaps.java'],",
+ " deps = [':l2'],",
+ ")");
Action action =
actionsTestUtil()
.getActionForArtifactEndingWith(
@@ -1663,12 +2092,31 @@
@Test
public void testForwardedDeps() throws Exception {
- scratch.file("java/fwdeps/BUILD",
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'b1', exports = [':a'])",
- "android_library(name = 'b2', srcs = [], exports = [':a'])",
- "android_library(name = 'c1', srcs = ['c1.java'], deps = [':b1'])",
- "android_library(name = 'c2', srcs = ['c2.java'], deps = [':b2'])");
+ scratch.file(
+ "java/fwdeps/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'b1',",
+ " exports = [':a'],",
+ ")",
+ "android_library(",
+ " name = 'b2',",
+ " srcs = [],",
+ " exports = [':a'],",
+ ")",
+ "android_library(",
+ " name = 'c1',",
+ " srcs = ['c1.java'],",
+ " deps = [':b1'],",
+ ")",
+ "android_library(",
+ " name = 'c2',",
+ " srcs = ['c2.java'],",
+ " deps = [':b2'],",
+ ")");
ConfiguredTarget c1Target = getConfiguredTarget("//java/fwdeps:c1");
ConfiguredTarget c2Target = getConfiguredTarget("//java/fwdeps:c2");
@@ -1689,10 +2137,22 @@
@Test
public void testExportsAreIndirectNotDirect() throws Exception {
- scratch.file("java/exports/BUILD",
- "android_library(name = 'a', srcs = ['a.java'])",
- "android_library(name = 'b', srcs = ['b.java'], exports = ['a'])",
- "android_library(name = 'c', srcs = ['c.java'], deps = [':b'])");
+ scratch.file(
+ "java/exports/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['a.java'],",
+ ")",
+ "android_library(",
+ " name = 'b',",
+ " srcs = ['b.java'],",
+ " exports = ['a'],",
+ ")",
+ "android_library(",
+ " name = 'c',",
+ " srcs = ['c.java'],",
+ " deps = [':b'],",
+ ")");
ConfiguredTarget aTarget = getConfiguredTarget("//java/exports:a");
ConfiguredTarget bTarget = getConfiguredTarget("//java/exports:b");
@@ -1721,11 +2181,13 @@
@Test
public void testAndroidJavacoptsCanBeOverridden() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'a',",
- " srcs = ['A.java'],",
- " javacopts = ['-g:lines,source'],",
- " )");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'a',",
+ " srcs = ['A.java'],",
+ " javacopts = ['-g:lines,source'],",
+ ")");
SpawnAction javacAction = (SpawnAction) getGeneratingActionForLabel("//java/android:liba.jar");
@@ -1735,16 +2197,21 @@
@Test
public void testAarGeneration_LocalResources() throws Exception {
- scratch.file("java/android/aartest/BUILD",
- "android_library(name = 'aartest',",
- " deps = ['dep'],",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/values/strings.xml'],",
- " assets = ['assets/some/random/file'],",
- " assets_dir = 'assets')",
- "android_library(name = 'dep',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['dep/res/values/strings.xml'])");
+ scratch.file(
+ "java/android/aartest/BUILD",
+ "android_library(",
+ " name = 'aartest',",
+ " deps = ['dep'],",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/values/strings.xml'],",
+ " assets = ['assets/some/random/file'],",
+ " assets_dir = 'assets',",
+ ")",
+ "android_library(",
+ " name = 'dep',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['dep/res/values/strings.xml'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android/aartest:aartest");
Artifact aar = getBinArtifact("aartest.aar", target);
SpawnAction action = (SpawnAction) actionsTestUtil().getActionForArtifactEndingWith(
@@ -1761,12 +2228,17 @@
@Test
public void testAarGeneration_NoResources() throws Exception {
- scratch.file("java/android/aartest/BUILD",
- "android_library(name = 'aartest',",
- " exports = ['dep'])",
- "android_library(name = 'dep',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['dep/res/values/strings.xml'])");
+ scratch.file(
+ "java/android/aartest/BUILD",
+ "android_library(",
+ " name = 'aartest',",
+ " exports = ['dep'],",
+ ")",
+ "android_library(",
+ " name = 'dep',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['dep/res/values/strings.xml'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android/aartest:aartest");
Artifact aar = getBinArtifact("aartest.aar", target);
SpawnAction action = (SpawnAction) actionsTestUtil().getActionForArtifactEndingWith(
@@ -1781,20 +2253,30 @@
@Test
public void testAarProvider_localResources() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'test',",
- " inline_constants = 0,",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/values/strings.xml'],",
- " deps = [':t1', ':t2'])",
- "android_library(name = 't1',",
- " inline_constants = 0,",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/values/strings.xml'])",
- "android_library(name = 't2',",
- " inline_constants = 0,",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/values/strings.xml'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'test',",
+ " inline_constants = 0,",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/values/strings.xml'],",
+ " deps = [",
+ " ':t1',",
+ " ':t2',",
+ " ],",
+ ")",
+ "android_library(",
+ " name = 't1',",
+ " inline_constants = 0,",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/values/strings.xml'],",
+ ")",
+ "android_library(",
+ " name = 't2',",
+ " inline_constants = 0,",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/values/strings.xml'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android:test");
ConfiguredTarget t1Target = getConfiguredTarget("//java/android:t1");
ConfiguredTarget t2Target = getConfiguredTarget("//java/android:t2");
@@ -1819,12 +2301,17 @@
@Test
public void testAarProvider_noResources() throws Exception {
- scratch.file("java/android/BUILD",
- "android_library(name = 'test',",
- " exports = [':transitive'])",
- "android_library(name = 'transitive',",
- " manifest = 'AndroidManifest.xml',",
- " resource_files = ['res/values/strings.xml'])");
+ scratch.file(
+ "java/android/BUILD",
+ "android_library(",
+ " name = 'test',",
+ " exports = [':transitive'],",
+ ")",
+ "android_library(",
+ " name = 'transitive',",
+ " manifest = 'AndroidManifest.xml',",
+ " resource_files = ['res/values/strings.xml'],",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/android:test");
final AndroidLibraryAarInfo provider = target.get(AndroidLibraryAarInfo.PROVIDER);
ConfiguredTarget transitiveTarget = getConfiguredTarget("//java/android:transitive");
@@ -1844,7 +2331,10 @@
"java/com/google/jni/BUILD", //
"android_library(",
" name = 'jni',",
- " srcs = ['Foo.java', 'Bar.java'],",
+ " srcs = [",
+ " 'Foo.java',",
+ " 'Bar.java',",
+ " ],",
")");
FileConfiguredTarget target = getFileConfiguredTarget("//java/com/google/jni:libjni.jar");
@@ -1872,8 +2362,8 @@
scratch.file(
"foo/extension.bzl",
"def _impl(ctx):",
- " dep_params = ctx.attr.dep[JavaInfo]",
- " return [dep_params]",
+ " dep_params = ctx.attr.dep[JavaInfo]",
+ " return [dep_params]",
"my_rule = rule(",
" _impl,",
" attrs = {",
@@ -1921,16 +2411,18 @@
scratch.file(
"java/foo/BUILD",
"android_library(",
- " name='dep',",
- " srcs=['dep.java'], ",
- " resource_files=['res/values/dep.xml'],",
- " manifest='AndroidManifest.xml')",
+ " name='dep',",
+ " srcs=['dep.java'], ",
+ " resource_files=['res/values/dep.xml'],",
+ " manifest='AndroidManifest.xml',",
+ ")",
"android_library(",
- " name='lib',",
- " srcs=['lib.java'],",
- " resource_files=['res/values/lib.xml'],",
- " manifest='AndroidManifest.xml',",
- " deps=[':dep'])");
+ " name='lib',",
+ " srcs=['lib.java'],",
+ " resource_files=['res/values/lib.xml'],",
+ " manifest='AndroidManifest.xml',",
+ " deps=[':dep']",
+ ")");
SpawnAction javacAction =
(SpawnAction)
@@ -1952,14 +2444,15 @@
scratch.file(
"java/foo/BUILD",
"cc_library(",
- " name='cc_dep',",
- " srcs=['dep.cc'],",
- " linkopts = ['-CC_DEP'],",
+ " name='cc_dep',",
+ " srcs=['dep.cc'],",
+ " linkopts = ['-CC_DEP'],",
")",
"android_library(",
- " name='lib',",
- " srcs=['lib.java'],",
- " deps=[':cc_dep'])");
+ " name='lib',",
+ " srcs=['lib.java'],",
+ " deps=[':cc_dep']",
+ ")");
ConfiguredTarget target = getConfiguredTarget("//java/foo:lib");