diff options
author | 2024-04-11 15:28:18 -0700 | |
---|---|---|
committer | 2024-04-11 16:51:21 -0700 | |
commit | 5e87f349b823c8a164628d81758a345173286255 (patch) | |
tree | 23f5193893ab70da20685775ace80b211795d85f /java/java_test.go | |
parent | 28ac2ffc8083a71b9e9f97098af4d12f1f732411 (diff) |
Strip relative paths from java_import output files
androidx.annotation_annotation is used as a test data file, and
converting it from a java_library to a java_library_import causes
the relative path used in the test data path to change. Clear the
relative path in java_import the same way that other java based
modules do.
Bug: 288358614
Test: TestJavaLibraryOutputFileRel
Change-Id: I1f494110da32e916043ca94ac6ebeeafccc06f9a
Diffstat (limited to 'java/java_test.go')
-rw-r--r-- | java/java_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index 2676aa558..7969d9798 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -2872,3 +2872,48 @@ func TestJavaLibWithStem(t *testing.T) { t.Errorf("Module output does not contain expected jar %s", "foo-new.jar") } } + +func TestJavaLibraryOutputFilesRel(t *testing.T) { + result := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + ).RunTestWithBp(t, ` + java_library { + name: "foo", + srcs: ["a.java"], + } + + java_import { + name: "bar", + jars: ["bar.aar"], + + } + + java_import { + name: "baz", + jars: ["baz.aar"], + static_libs: ["bar"], + } + `) + + foo := result.ModuleForTests("foo", "android_common") + bar := result.ModuleForTests("bar", "android_common") + baz := result.ModuleForTests("baz", "android_common") + + fooOutputPath := android.OutputFileForModule(android.PathContext(nil), foo.Module(), "") + barOutputPath := android.OutputFileForModule(android.PathContext(nil), bar.Module(), "") + bazOutputPath := android.OutputFileForModule(android.PathContext(nil), baz.Module(), "") + + android.AssertPathRelativeToTopEquals(t, "foo output path", + "out/soong/.intermediates/foo/android_common/javac/foo.jar", fooOutputPath) + android.AssertPathRelativeToTopEquals(t, "bar output path", + "out/soong/.intermediates/bar/android_common/combined/bar.jar", barOutputPath) + android.AssertPathRelativeToTopEquals(t, "baz output path", + "out/soong/.intermediates/baz/android_common/combined/baz.jar", bazOutputPath) + + android.AssertStringEquals(t, "foo relative output path", + "foo.jar", fooOutputPath.Rel()) + android.AssertStringEquals(t, "bar relative output path", + "bar.jar", barOutputPath.Rel()) + android.AssertStringEquals(t, "baz relative output path", + "baz.jar", bazOutputPath.Rel()) +} |