aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
diff options
context:
space:
mode:
authorGravatar jingwen <jingwen@google.com>2017-09-27 16:28:15 -0400
committerGravatar John Cater <jcater@google.com>2017-09-28 08:55:01 -0400
commit67b7154eb30b849a687852e93e77629726ef8151 (patch)
treecb43c62d033e3f2c7cf522bd55eed441d8148e89 /src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
parent5008b4b3c5d842fe78840950c1a74b437449749b (diff)
Set --experimental_allow_android_library_deps_without_srcs to false by default in AndroidConfiguration.
RELNOTES: android_library targets are no longer allowed to use deps to export targets implicitly; please use android_library.exports instead. PiperOrigin-RevId: 170243241
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java60
1 files changed, 28 insertions, 32 deletions
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 39e65d9f89..1520db35b4 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
@@ -19,7 +19,6 @@ import static com.google.common.truth.Truth.assertThat;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.truth.Truth;
@@ -34,7 +33,6 @@ import com.google.devtools.build.lib.analysis.configuredtargets.OutputFileConfig
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
-import com.google.devtools.build.lib.events.EventKind;
import com.google.devtools.build.lib.rules.android.AndroidIdeInfoProvider.SourceDirectory;
import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider;
import com.google.devtools.build.lib.rules.java.JavaCompileAction;
@@ -288,7 +286,6 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
@Test
public void testDisallowDepsWithoutSrcsError() throws Exception {
- useConfiguration("--experimental_allow_android_library_deps_without_srcs=false");
checkError("android/deps", "b",
// message:
"android_library will be deprecating the use of deps to export targets implicitly",
@@ -395,24 +392,14 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
}
@Test
- public void testSrcsLessExportsAreStillDirect() throws Exception {
- scratch.file("java/exports/BUILD",
+ public void testSrcsLessExportsAreDisallowed() throws Exception {
+ checkError(
+ "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 = 'c', srcs = ['c.java'], deps = [':b'])");
-
- ConfiguredTarget bTarget = getConfiguredTarget("//java/exports:b");
- ConfiguredTarget cTarget = getConfiguredTarget("//java/exports:c");
-
- assertThat(ActionsTestUtil.baseArtifactNames(getDefaultRunfiles(bTarget).getArtifacts()))
- .isEqualTo(Arrays.asList("liba.jar"));
-
- assertThat(ActionsTestUtil.baseArtifactNames(getDefaultRunfiles(cTarget).getArtifacts()))
- .isEqualTo(Arrays.asList("liba.jar", "libc.jar"));
-
- assertContainsEvent(
- "android_library will be deprecating the use of deps "
- + "to export targets implicitly.", ImmutableSet.of(EventKind.WARNING));
+ "android_library(name = 'b', deps = ['a'])"
+ );
}
@Test
@@ -952,32 +939,41 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase {
}
@Test
- public void testNeverlinkResources_JavaCompileAction() throws Exception {
+ public void testNeverlinkResources_compileAndRuntimeJars() throws Exception {
scratch.file("java/apps/android/BUILD",
"android_library(name = 'foo',",
" manifest = 'AndroidManifest.xml',",
- " deps = [':lib', ':lib_neverlink'])",
+ " exports = [':lib', ':lib_neverlink'],)",
"android_library(name = 'lib_neverlink',",
" neverlink = 1,",
- " manifest = 'AndroidManifest.xml',",
- " deps = [':bar'])",
+ " manifest = 'AndroidManifest.xml',)",
"android_library(name = 'lib',",
- " manifest = 'AndroidManifest.xml',",
- " deps = [':bar'])",
- "android_library(name = 'bar',",
- " manifest = 'AndroidManifest.xml')");
+ " manifest = 'AndroidManifest.xml',)");
ConfiguredTarget foo = getConfiguredTarget("//java/apps/android:foo");
+ ConfiguredTarget lib = getConfiguredTarget("//java/apps/android:lib");
+ ConfiguredTarget libNeverlink = getConfiguredTarget("//java/apps/android:lib_neverlink");
+ NestedSet<Artifact> neverLinkFilesToBuild = getFilesToBuild(libNeverlink);
+ NestedSet<Artifact> libFilesToBuild = getFilesToBuild(lib);
JavaCompilationArgsProvider argsProvider = foo.getProvider(JavaCompilationArgsProvider.class);
- JavaCompileAction javacAction =
- (JavaCompileAction) getGeneratingActionForLabel("//java/apps/android:libfoo.jar");
assertThat(argsProvider.getJavaCompilationArgs().getCompileTimeJars())
.contains(ActionsTestUtil.getFirstArtifactEndingWith(
- javacAction.getInputs(), "lib_neverlink_resources.jar"));
+ actionsTestUtil().artifactClosureOf(neverLinkFilesToBuild),
+ "lib_neverlink_resources.jar"));
+ assertThat(argsProvider.getJavaCompilationArgs().getCompileTimeJars())
+ .contains(ActionsTestUtil.getFirstArtifactEndingWith(
+ actionsTestUtil().artifactClosureOf(libFilesToBuild),
+ "lib_resources.jar"));
+
assertThat(argsProvider.getJavaCompilationArgs().getRuntimeJars())
.doesNotContain(ActionsTestUtil.getFirstArtifactEndingWith(
- javacAction.getInputs(), "lib_neverlink_resources.jar"));
+ actionsTestUtil().artifactClosureOf(neverLinkFilesToBuild),
+ "lib_neverlink_resources.jar"));
+ assertThat(argsProvider.getJavaCompilationArgs().getRuntimeJars())
+ .contains(ActionsTestUtil.getFirstArtifactEndingWith(
+ actionsTestUtil().artifactClosureOf(libFilesToBuild),
+ "lib_resources.jar"));
}
@Test