Allow access to the class jar for java_import using {.jar} tag
Layoutlib requires access to the jar file (containing .class) files for a number of libraries including "core-libart". It does that using the {.jar} output tag, e.g. "core-libart{.jar}". This change makes sure that works when "core-libart" is provided as a java_import instead of a java_library. Bug: 142938164 Test: m nothing Change-Id: I605019d680c28e4a33f0ca14279d63fa62b9774b
This commit is contained in:
11
java/java.go
11
java/java.go
@@ -2699,6 +2699,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)
|
var _ Dependency = (*Import)(nil)
|
||||||
|
|
||||||
func (j *Import) HeaderJars() android.Paths {
|
func (j *Import) HeaderJars() android.Paths {
|
||||||
|
@@ -1412,7 +1412,31 @@ func TestJavaLibrary(t *testing.T) {
|
|||||||
name: "core",
|
name: "core",
|
||||||
sdk_version: "none",
|
sdk_version: "none",
|
||||||
system_modules: "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()
|
ctx := testContext()
|
||||||
run(t, ctx, config)
|
run(t, ctx, config)
|
||||||
|
Reference in New Issue
Block a user