diff --git a/java/java.go b/java/java.go index 1200e2731..cdf162827 100644 --- a/java/java.go +++ b/java/java.go @@ -2711,6 +2711,17 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { } } +func (j *Import) OutputFiles(tag string) (android.Paths, error) { + switch tag { + case ".jar": + return android.Paths{j.combinedClasspathFile}, nil + default: + return nil, fmt.Errorf("unsupported module reference tag %q", tag) + } +} + +var _ android.OutputFileProducer = (*Import)(nil) + var _ Dependency = (*Import)(nil) func (j *Import) HeaderJars() android.Paths { diff --git a/java/java_test.go b/java/java_test.go index f16639aa8..a43e2a8c9 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1412,7 +1412,31 @@ func TestJavaLibrary(t *testing.T) { name: "core", sdk_version: "none", system_modules: "none", - }`), + } + + filegroup { + name: "core-jar", + srcs: [":core{.jar}"], + } +`), + }) + ctx := testContext() + run(t, ctx, config) +} + +func TestJavaImport(t *testing.T) { + config := testConfig(nil, "", map[string][]byte{ + "libcore/Android.bp": []byte(` + java_import { + name: "core", + sdk_version: "none", + } + + filegroup { + name: "core-jar", + srcs: [":core{.jar}"], + } +`), }) ctx := testContext() run(t, ctx, config)