aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/import_deps_checker/javatests/com/google
diff options
context:
space:
mode:
Diffstat (limited to 'src/java_tools/import_deps_checker/javatests/com/google')
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/AbstractClassCacheTest.java6
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ClassCacheTest.java29
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ImportDepsCheckerTest.java2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/LazyClassEntryStateTest.java14
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResolutionFailureChainTest.java85
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResultCollectorTest.java32
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt126
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt126
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt126
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.stderr.txt23
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt23
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.stderr.txt8
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt8
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt10
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt10
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java4
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Library.java4
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/LibraryInterface.java8
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/library_no_members/com/google/devtools/build/importdeps/testdata/Library.java6
20 files changed, 342 insertions, 310 deletions
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/AbstractClassCacheTest.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/AbstractClassCacheTest.java
index 2432c70b33..a2cb0bca1d 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/AbstractClassCacheTest.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/AbstractClassCacheTest.java
@@ -41,7 +41,7 @@ public abstract class AbstractClassCacheTest {
ImmutableList.<String>builder()
.add("Library")
.addAll(
- IntStream.range(1, 11)
+ IntStream.range(1, 12)
.mapToObj(i -> "Library$Class" + i)
.collect(ImmutableList.toImmutableList()))
.build()
@@ -83,7 +83,9 @@ public abstract class AbstractClassCacheTest {
PACKAGE_NAME + "LibraryInterface",
PACKAGE_NAME + "LibraryInterface$Func",
PACKAGE_NAME + "LibraryInterface$One",
- PACKAGE_NAME + "LibraryInterface$Two");
+ PACKAGE_NAME + "LibraryInterface$Two",
+ PACKAGE_NAME + "LibraryInterface$InterfaceFoo",
+ PACKAGE_NAME + "LibraryInterface$InterfaceBar");
static Path getPathFromSystemProperty(String propertyName) {
String path =
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ClassCacheTest.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ClassCacheTest.java
index 09fcf9eadd..bf4ca0a6ab 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ClassCacheTest.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ClassCacheTest.java
@@ -38,16 +38,13 @@ public class ClassCacheTest extends AbstractClassCacheTest {
try (ClassCache cache =
new ClassCache(
ImmutableList.of(bootclasspath),
- ImmutableList.of(libraryJar),
- ImmutableList.of(libraryJar),
+ ImmutableList.of(),
+ ImmutableList.of(libraryJar, libraryInterfaceJar),
ImmutableList.of())) {
assertCache(
cache,
libraryJarPositives,
- combine(
- libraryInterfacePositives,
- libraryAnnotationsJarPositives,
- libraryExceptionJarPositives));
+ combine(libraryAnnotationsJarPositives, libraryExceptionJarPositives));
}
}
@@ -80,8 +77,24 @@ public class ClassCacheTest extends AbstractClassCacheTest {
AbstractClassEntryState state = cache.getClassState(PACKAGE_NAME + "Client");
assertThat(state.isIncompleteState()).isTrue();
- ImmutableList<String> failureCause = state.asIncompleteState().getResolutionFailurePath();
- assertThat(failureCause).containsExactly(PACKAGE_NAME + "Library").inOrder();
+ ImmutableList<String> successPart =
+ state
+ .asIncompleteState()
+ .resolutionFailureChain()
+ .getMissingClassesWithSubclasses()
+ .values()
+ .stream()
+ .distinct()
+ .sorted()
+ .map(ClassInfo::internalName)
+ .collect(ImmutableList.toImmutableList());
+ assertThat(successPart).containsExactly(PACKAGE_NAME + "Client").inOrder();
+ assertThat(state.asIncompleteState().missingAncestors())
+ .containsExactly(
+ PACKAGE_NAME + "Library",
+ PACKAGE_NAME + "LibraryInterface",
+ PACKAGE_NAME + "LibraryInterface$One",
+ PACKAGE_NAME + "LibraryInterface$Two");
}
assertThat(cache.getClassState(PACKAGE_NAME + "Client").isIncompleteState()).isTrue();
assertThat(cache.getClassState(PACKAGE_NAME + "Client$NestedAnnotation"))
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ImportDepsCheckerTest.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ImportDepsCheckerTest.java
index be46cb3ffb..0f5a341a25 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ImportDepsCheckerTest.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ImportDepsCheckerTest.java
@@ -57,7 +57,7 @@ public class ImportDepsCheckerTest extends AbstractClassCacheTest {
ImmutableList.of(bootclasspath),
ImmutableList.of(libraryAnnotationsJar),
ImmutableList.of(libraryJar),
- true,
+ false,
ImmutableList.of());
testJdepsProto(
ImmutableList.of(bootclasspath),
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/LazyClassEntryStateTest.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/LazyClassEntryStateTest.java
index f042c34600..4baaa20687 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/LazyClassEntryStateTest.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/LazyClassEntryStateTest.java
@@ -59,9 +59,13 @@ public class LazyClassEntryStateTest {
public void testIncompleteState() {
assertThrows(
IllegalArgumentException.class,
- () -> IncompleteState.create(LIST_CLASS_INFO, ImmutableList.of()));
+ () ->
+ IncompleteState.create(
+ LIST_CLASS_INFO,
+ ResolutionFailureChain.createWithParent(LIST_CLASS_INFO, ImmutableList.of())));
IncompleteState state =
- IncompleteState.create(LIST_CLASS_INFO, ImmutableList.of("java/lang/Object"));
+ IncompleteState.create(
+ LIST_CLASS_INFO, ResolutionFailureChain.createMissingClass("java/lang/Object"));
assertThat(state.isExistingState()).isFalse();
assertThat(state.isIncompleteState()).isTrue();
@@ -76,9 +80,9 @@ public class LazyClassEntryStateTest {
assertThat(classInfo.declaredMembers()).hasSize(1);
assertThat(classInfo.declaredMembers()).containsExactly(MemberInfo.create("hashCode", "()I"));
- ImmutableList<String> failurePath = state.getResolutionFailurePath();
- assertThat(failurePath).hasSize(1);
- assertThat(failurePath).containsExactly("java/lang/Object");
+ assertThat(state.resolutionFailureChain().getMissingClassesWithSubclasses()).isEmpty();
+ assertThat(state.missingAncestors()).hasSize(1);
+ assertThat(state.missingAncestors()).containsExactly("java/lang/Object");
}
@Test
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResolutionFailureChainTest.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResolutionFailureChainTest.java
new file mode 100644
index 0000000000..362a435cb5
--- /dev/null
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResolutionFailureChainTest.java
@@ -0,0 +1,85 @@
+// Copyright 2018 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.google.devtools.build.importdeps;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import java.nio.file.Paths;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Test for {@link ResolutionFailureChain} */
+@RunWith(JUnit4.class)
+public class ResolutionFailureChainTest {
+
+ private final ClassInfo charSequenceClass =
+ ClassInfo.create(
+ "java/lang/CharSequence",
+ Paths.get("string.jar"),
+ false,
+ ImmutableList.of(),
+ ImmutableSet.of());
+ private final ResolutionFailureChain objectMissingChain =
+ ResolutionFailureChain.createMissingClass("java/lang/Object");
+ private final ResolutionFailureChain charSequenceFailureChain =
+ ResolutionFailureChain.createWithParent(
+ charSequenceClass, ImmutableList.of(objectMissingChain));
+
+ @Test
+ public void testArgumentCheck() {
+ Assert.assertThrows(
+ IllegalArgumentException.class,
+ () -> ResolutionFailureChain.createWithParent(charSequenceClass, ImmutableList.of()));
+ }
+
+ @Test
+ public void testMissingClassChain() {
+ assertThat(objectMissingChain.missingClasses()).containsExactly("java/lang/Object");
+ assertThat(objectMissingChain.getMissingClassesWithSubclasses()).isEmpty();
+ assertThat(objectMissingChain.parentChains()).isEmpty();
+ assertThat(objectMissingChain.resolutionStartClass()).isNull();
+ }
+
+ @Test
+ public void testChainWithOneHead() {
+ assertThat(charSequenceFailureChain.missingClasses()).containsExactly("java/lang/Object");
+ assertThat(charSequenceFailureChain.resolutionStartClass()).isEqualTo(charSequenceClass);
+ assertThat(charSequenceFailureChain.getMissingClassesWithSubclasses().values())
+ .containsExactly(charSequenceClass);
+ assertThat(charSequenceFailureChain.parentChains()).containsExactly(objectMissingChain);
+ }
+
+ @Test
+ public void testChainWithTwoHeads() {
+ ClassInfo stringClass =
+ ClassInfo.create(
+ "java/lang/String",
+ Paths.get("string.jar"),
+ false,
+ ImmutableList.of(),
+ ImmutableSet.of());
+ ResolutionFailureChain chain =
+ ResolutionFailureChain.createWithParent(
+ stringClass, ImmutableList.of(objectMissingChain, charSequenceFailureChain));
+ assertThat(chain.missingClasses()).containsExactly("java/lang/Object");
+ assertThat(chain.parentChains()).containsExactly(objectMissingChain, charSequenceFailureChain);
+ assertThat(chain.getMissingClassesWithSubclasses().values())
+ .containsExactly(stringClass, charSequenceClass);
+ assertThat(chain.resolutionStartClass()).isEqualTo(stringClass);
+ }
+}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResultCollectorTest.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResultCollectorTest.java
index db76c26d7b..6256c77ec1 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResultCollectorTest.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/ResultCollectorTest.java
@@ -24,7 +24,6 @@ import com.google.devtools.build.importdeps.ResultCollector.MissingMember;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
-import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
@@ -33,12 +32,21 @@ import org.junit.runners.JUnit4;
@RunWith(JUnit4.class)
public class ResultCollectorTest {
- private ResultCollector collector;
-
- @Before
- public void setup() throws IOException {
- collector = new ResultCollector();
- }
+ private final ClassInfo objectClass =
+ ClassInfo.create(
+ "java/lang/Object",
+ Paths.get("bootclasspath.jar"),
+ false,
+ ImmutableList.of(),
+ ImmutableSet.of());
+ private final ClassInfo stringClass =
+ ClassInfo.create(
+ "java/lang/String",
+ Paths.get("string.jar"),
+ false,
+ ImmutableList.of(objectClass),
+ ImmutableSet.of());
+ private ResultCollector collector = new ResultCollector();
@Test
public void testEmptyCollector() throws IOException {
@@ -67,14 +75,16 @@ public class ResultCollectorTest {
collector.addMissingOrIncompleteClass(
"java/lang/String",
IncompleteState.create(
- ClassInfo.create(
- "java/lang/String", Paths.get("a"), true, ImmutableList.of(), ImmutableSet.of()),
- ImmutableList.of("java/lang/Object")));
+ stringClass, ResolutionFailureChain.createMissingClass("java/lang/Object")));
assertThat(collector.getSortedIncompleteClasses()).hasSize(1);
assertThat(collector.getSortedIncompleteClasses().get(0).classInfo().get())
.isEqualTo(
ClassInfo.create(
- "java/lang/String", Paths.get("a"), true, ImmutableList.of(), ImmutableSet.of()));
+ "java/lang/String",
+ Paths.get("string.jar"),
+ false,
+ ImmutableList.of(objectClass),
+ ImmutableSet.of()));
assertThat(collector.isEmpty()).isFalse();
}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt
index a037fa0556..e7470b5514 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.txt
@@ -21,93 +21,49 @@ Missing java.lang.invoke.MethodHandle
Missing java.lang.invoke.MethodHandles$Lookup
Missing java.lang.invoke.MethodType
Missing java.util.Objects
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: java.lang.Object
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library -> java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$EnumTest
- missing ancestor: java.lang.Enum
- resolution failure path: java.lang.Enum
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class1
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class10
- missing ancestor: java.lang.Object
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library$Class9 -> java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class2
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class3
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class4
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class5
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class6
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class7
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class8
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class9
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
- missing ancestor: java.lang.Enum
- resolution failure path: java.lang.Enum
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryException
- missing ancestor: java.lang.Exception
- resolution failure path: java.lang.Exception
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$One
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
+Indirectly missing class java.lang.Enum. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client$EnumTest
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
+Indirectly missing class java.lang.Exception. Referenced by:
+ com.google.devtools.build.importdeps.testdata.LibraryException
+Indirectly missing class java.lang.Object. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
+ com.google.devtools.build.importdeps.testdata.Library
+ com.google.devtools.build.importdeps.testdata.Library$Class1
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+ com.google.devtools.build.importdeps.testdata.Library$Class2
+ com.google.devtools.build.importdeps.testdata.Library$Class3
+ com.google.devtools.build.importdeps.testdata.Library$Class4
+ com.google.devtools.build.importdeps.testdata.Library$Class5
+ com.google.devtools.build.importdeps.testdata.Library$Class6
+ com.google.devtools.build.importdeps.testdata.Library$Class7
+ com.google.devtools.build.importdeps.testdata.Library$Class8
+ com.google.devtools.build.importdeps.testdata.Library$Class9
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryInterface
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$One
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
+Indirectly missing class java.lang.annotation.Annotation. Referenced by:
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
Missing member 'name' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=name, descriptor=()Ljava/lang/String;
Missing member 'ordinal' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=ordinal, descriptor=()I
===Total===
missing=20
-incomplete=28
+incomplete=29
missing_members=2
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt
index 2bb0b97f86..a5a3f24a15 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.stderr.warning.txt
@@ -21,93 +21,49 @@ Missing java.lang.invoke.MethodHandle
Missing java.lang.invoke.MethodHandles$Lookup
Missing java.lang.invoke.MethodType
Missing java.util.Objects
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: java.lang.Object
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library -> java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$EnumTest
- missing ancestor: java.lang.Enum
- resolution failure path: java.lang.Enum
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class1
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class10
- missing ancestor: java.lang.Object
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library$Class9 -> java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class2
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class3
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class4
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class5
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class6
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class7
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class8
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class9
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
- missing ancestor: java.lang.Enum
- resolution failure path: java.lang.Enum
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryException
- missing ancestor: java.lang.Exception
- resolution failure path: java.lang.Exception
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$One
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
+Indirectly missing class java.lang.Enum. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client$EnumTest
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
+Indirectly missing class java.lang.Exception. Referenced by:
+ com.google.devtools.build.importdeps.testdata.LibraryException
+Indirectly missing class java.lang.Object. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
+ com.google.devtools.build.importdeps.testdata.Library
+ com.google.devtools.build.importdeps.testdata.Library$Class1
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+ com.google.devtools.build.importdeps.testdata.Library$Class2
+ com.google.devtools.build.importdeps.testdata.Library$Class3
+ com.google.devtools.build.importdeps.testdata.Library$Class4
+ com.google.devtools.build.importdeps.testdata.Library$Class5
+ com.google.devtools.build.importdeps.testdata.Library$Class6
+ com.google.devtools.build.importdeps.testdata.Library$Class7
+ com.google.devtools.build.importdeps.testdata.Library$Class8
+ com.google.devtools.build.importdeps.testdata.Library$Class9
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryInterface
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$One
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
+Indirectly missing class java.lang.annotation.Annotation. Referenced by:
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
Missing member 'name' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=name, descriptor=()Ljava/lang/String;
Missing member 'ordinal' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=ordinal, descriptor=()I
===Total===
missing=20
-incomplete=28
+incomplete=29
missing_members=2
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt
index f68fee99ce..27d55cc9d2 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt
@@ -18,93 +18,49 @@ Missing java.lang.invoke.MethodHandle
Missing java.lang.invoke.MethodHandles$Lookup
Missing java.lang.invoke.MethodType
Missing java.util.Objects
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: java.lang.Object
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library -> java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$EnumTest
- missing ancestor: java.lang.Enum
- resolution failure path: java.lang.Enum
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class1
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class10
- missing ancestor: java.lang.Object
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library$Class9 -> java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class2
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class3
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class4
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class5
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class6
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class7
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class8
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library$Class9
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
- missing ancestor: java.lang.Enum
- resolution failure path: java.lang.Enum
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryException
- missing ancestor: java.lang.Exception
- resolution failure path: java.lang.Exception
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$One
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
+Indirectly missing class java.lang.Enum. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client$EnumTest
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
+Indirectly missing class java.lang.Exception. Referenced by:
+ com.google.devtools.build.importdeps.testdata.LibraryException
+Indirectly missing class java.lang.Object. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client$InnerClassWithSyntheticConstructorParam
+ com.google.devtools.build.importdeps.testdata.Library
+ com.google.devtools.build.importdeps.testdata.Library$Class1
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+ com.google.devtools.build.importdeps.testdata.Library$Class2
+ com.google.devtools.build.importdeps.testdata.Library$Class3
+ com.google.devtools.build.importdeps.testdata.Library$Class4
+ com.google.devtools.build.importdeps.testdata.Library$Class5
+ com.google.devtools.build.importdeps.testdata.Library$Class6
+ com.google.devtools.build.importdeps.testdata.Library$Class7
+ com.google.devtools.build.importdeps.testdata.Library$Class8
+ com.google.devtools.build.importdeps.testdata.Library$Class9
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryInterface
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$One
+ com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
+Indirectly missing class java.lang.annotation.Annotation. Referenced by:
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
+ com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
Missing member 'name' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=name, descriptor=()Ljava/lang/String;
Missing member 'ordinal' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=ordinal, descriptor=()I
===Total===
missing=20
-incomplete=28
+incomplete=29
missing_members=2
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.stderr.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.stderr.txt
index 9dfb028a60..3983296240 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.stderr.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.stderr.txt
@@ -3,12 +3,23 @@ ERROR: The dependencies for the following 1 jar(s) are not complete.
The details are listed below:
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
+Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar
+Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$One
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: com.google.devtools.build.importdeps.testdata.LibraryInterface
- resolution failure path: com.google.devtools.build.importdeps.testdata.LibraryInterface
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$One. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$Two. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
+Missing member 'bar' in class com.google.devtools.build.importdeps.testdata.Library$Class11 : name=bar, descriptor=()V
+Missing member 'foo' in class com.google.devtools.build.importdeps.testdata.Library$Class11 : name=foo, descriptor=()V
===Total===
-missing=4
-incomplete=1
-missing_members=0
+missing=6
+incomplete=2
+missing_members=2
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt
index 98e939e08e..e8a282b575 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt
@@ -1,11 +1,22 @@
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
+Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar
+Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$One
Missing com.google.devtools.build.importdeps.testdata.LibraryInterface$Two
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: com.google.devtools.build.importdeps.testdata.LibraryInterface
- resolution failure path: com.google.devtools.build.importdeps.testdata.LibraryInterface
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceBar. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$InterfaceFoo. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Library$Class11
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$One. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
+Indirectly missing class com.google.devtools.build.importdeps.testdata.LibraryInterface$Two. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
+Missing member 'bar' in class com.google.devtools.build.importdeps.testdata.Library$Class11 : name=bar, descriptor=()V
+Missing member 'foo' in class com.google.devtools.build.importdeps.testdata.Library$Class11 : name=foo, descriptor=()V
===Total===
-missing=4
-incomplete=1
-missing_members=0
+missing=6
+incomplete=2
+missing_members=2
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.stderr.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.stderr.txt
index 4c0f4a9337..0db51a99a7 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.stderr.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.stderr.txt
@@ -4,6 +4,7 @@ The details are listed below:
Missing com.google.devtools.build.importdeps.testdata.Library
Missing com.google.devtools.build.importdeps.testdata.Library$Class1
Missing com.google.devtools.build.importdeps.testdata.Library$Class10
+Missing com.google.devtools.build.importdeps.testdata.Library$Class11
Missing com.google.devtools.build.importdeps.testdata.Library$Class2
Missing com.google.devtools.build.importdeps.testdata.Library$Class3
Missing com.google.devtools.build.importdeps.testdata.Library$Class4
@@ -12,10 +13,9 @@ Missing com.google.devtools.build.importdeps.testdata.Library$Class6
Missing com.google.devtools.build.importdeps.testdata.Library$Class7
Missing com.google.devtools.build.importdeps.testdata.Library$Class8
Missing com.google.devtools.build.importdeps.testdata.Library$Class9
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: com.google.devtools.build.importdeps.testdata.Library
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library
+Indirectly missing class com.google.devtools.build.importdeps.testdata.Library. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
===Total===
-missing=11
+missing=12
incomplete=1
missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt
index 79399786a1..fa5e95c6f0 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt
@@ -1,6 +1,7 @@
Missing com.google.devtools.build.importdeps.testdata.Library
Missing com.google.devtools.build.importdeps.testdata.Library$Class1
Missing com.google.devtools.build.importdeps.testdata.Library$Class10
+Missing com.google.devtools.build.importdeps.testdata.Library$Class11
Missing com.google.devtools.build.importdeps.testdata.Library$Class2
Missing com.google.devtools.build.importdeps.testdata.Library$Class3
Missing com.google.devtools.build.importdeps.testdata.Library$Class4
@@ -9,10 +10,9 @@ Missing com.google.devtools.build.importdeps.testdata.Library$Class6
Missing com.google.devtools.build.importdeps.testdata.Library$Class7
Missing com.google.devtools.build.importdeps.testdata.Library$Class8
Missing com.google.devtools.build.importdeps.testdata.Library$Class9
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
- missing ancestor: com.google.devtools.build.importdeps.testdata.Library
- resolution failure path: com.google.devtools.build.importdeps.testdata.Library
+Indirectly missing class com.google.devtools.build.importdeps.testdata.Library. Referenced by:
+ com.google.devtools.build.importdeps.testdata.Client
===Total===
-missing=11
+missing=12
incomplete=1
missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt
index 3cc4b3d5ae..fb49176d2b 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.stderr.txt
@@ -2,10 +2,12 @@ ERROR: The dependencies for the following 1 jar(s) are not complete.
1.third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/libOneAnnotationValue.jar
The details are listed below:
Missing java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.StringAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
+Missing java.lang.annotation.Annotation
+Indirectly missing class java.lang.Object. Referenced by:
+ com.google.devtools.build.importdeps.testdata.StringAnnotation
+Indirectly missing class java.lang.annotation.Annotation. Referenced by:
+ com.google.devtools.build.importdeps.testdata.StringAnnotation
===Total===
-missing=1
+missing=2
incomplete=1
missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt
index b0e898dc35..4699e35478 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_string_annotation_value_test.txt
@@ -1,8 +1,10 @@
Missing java.lang.Object
-Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.StringAnnotation
- missing ancestor: java.lang.Object
- resolution failure path: java.lang.Object
+Missing java.lang.annotation.Annotation
+Indirectly missing class java.lang.Object. Referenced by:
+ com.google.devtools.build.importdeps.testdata.StringAnnotation
+Indirectly missing class java.lang.annotation.Annotation. Referenced by:
+ com.google.devtools.build.importdeps.testdata.StringAnnotation
===Total===
-missing=1
+missing=2
incomplete=1
missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD
index 805bb7d6c4..bd8614d3a6 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD
@@ -28,11 +28,13 @@ java_library(
java_library(
name = "testdata_lib_Library",
srcs = ["Library.java"],
+ deps = [":testdata_lib_LibraryInterface"],
)
java_library(
name = "testdata_lib_Library_no_members",
srcs = ["library_no_members/com/google/devtools/build/importdeps/testdata/Library.java"],
+ deps = [":testdata_lib_LibraryInterface"],
)
java_library(
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java
index 419ae82332..2f9d5b17d0 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Client.java
@@ -68,6 +68,10 @@ public class Client<@TypeAnnotation T> extends Library
System.out.println(array.clone().length);
Integer b = Integer.valueOf(0);
System.out.println(b);
+
+ Class11 eleven = new Class11();
+ eleven.foo();
+ eleven.bar();
}
public void testEnums() {
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Library.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Library.java
index 31049ba2d5..0d29fb76dc 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Library.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/Library.java
@@ -57,4 +57,8 @@ public class Library {
/** A library class for testing. */
public static class Class10 extends Class9 {}
+
+ /** A library class for testing. */
+ public static class Class11
+ implements LibraryInterface.InterfaceFoo, LibraryInterface.InterfaceBar {}
}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/LibraryInterface.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/LibraryInterface.java
index c4e6e07459..b85172cab6 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/LibraryInterface.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/LibraryInterface.java
@@ -34,4 +34,12 @@ public interface LibraryInterface {
interface Two {
void callTwo();
}
+
+ interface InterfaceFoo {
+ default void foo() {}
+ }
+
+ interface InterfaceBar {
+ default void bar() {}
+ }
}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/library_no_members/com/google/devtools/build/importdeps/testdata/Library.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/library_no_members/com/google/devtools/build/importdeps/testdata/Library.java
index 991baa0cd7..624ce06dac 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/library_no_members/com/google/devtools/build/importdeps/testdata/Library.java
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/library_no_members/com/google/devtools/build/importdeps/testdata/Library.java
@@ -13,6 +13,9 @@
// limitations under the License.
package com.google.devtools.build.importdeps.testdata;
+import com.google.devtools.build.importdeps.testdata.LibraryInterface.InterfaceBar;
+import com.google.devtools.build.importdeps.testdata.LibraryInterface.InterfaceFoo;
+
/**
* A library class for testing. This library class is very similar to {@link Library}, but it does
* not have any members (fields or methods).
@@ -48,4 +51,7 @@ public class Library {
/** A library class for testing. */
public static class Class10 extends Class9 {}
+
+ /** A library class for testing. */
+ public static class Class11 implements InterfaceBar, InterfaceFoo {}
}