Merge "Provide a resource_prefix_strip for java_resources in bp2build."

This commit is contained in:
Treehugger Robot
2023-05-05 01:44:03 +00:00
committed by Gerrit Code Review
3 changed files with 24 additions and 11 deletions

View File

@@ -259,17 +259,20 @@ func TestJavaBinaryHostKotlinWithResources(t *testing.T) {
runJavaBinaryHostTestCase(t, Bp2buildTestCase{
Description: "java_binary_host with srcs, libs, resources.",
Filesystem: map[string]string{
"test.mf": "Main-Class: com.android.test.MainClass",
"res/a.res": "",
"res/b.res": "",
},
Blueprint: `java_binary_host {
"adir/test.mf": "Main-Class: com.android.test.MainClass",
"adir/res/a.res": "",
"adir/res/b.res": "",
"adir/Android.bp": `java_binary_host {
name: "java-binary-host",
manifest: "test.mf",
srcs: ["a.java", "b.kt"],
java_resources: ["res/a.res", "res/b.res"],
bazel_module: { bp2build_available: true },
}
`,
},
Dir: "adir",
Blueprint: "",
ExpectedBazelTargets: []string{
MakeBazelTarget("kt_jvm_library", "java-binary-host_lib", AttrNameToString{
"srcs": `[
@@ -280,6 +283,7 @@ func TestJavaBinaryHostKotlinWithResources(t *testing.T) {
"res/a.res",
"res/b.res",
]`,
"resource_strip_prefix": `"adir"`,
"target_compatible_with": `select({
"//build/bazel/platforms/os:android": ["@platforms//:incompatible"],
"//conditions:default": [],

View File

@@ -283,21 +283,25 @@ func TestJavaLibraryLogTags(t *testing.T) {
func TestJavaLibraryResources(t *testing.T) {
runJavaLibraryTestCase(t, Bp2buildTestCase{
Dir: "adir",
Filesystem: map[string]string{
"res/a.res": "",
"res/b.res": "",
"res/dir1/b.res": "",
},
Blueprint: `java_library {
"adir/res/a.res": "",
"adir/res/b.res": "",
"adir/res/dir1/b.res": "",
"adir/Android.bp": `java_library {
name: "java-lib-1",
java_resources: ["res/a.res", "res/b.res"],
bazel_module: { bp2build_available: true },
}`,
},
Blueprint: "",
ExpectedBazelTargets: []string{
MakeBazelTarget("java_library", "java-lib-1", AttrNameToString{
"resources": `[
"res/a.res",
"res/b.res",
]`,
"resource_strip_prefix": `"adir"`,
}),
MakeNeverlinkDuplicateTarget("java_library", "java-lib-1"),
},

View File

@@ -2710,8 +2710,13 @@ func (m *Library) convertJavaResourcesAttributes(ctx android.TopDownMutatorConte
var resources bazel.LabelList
var resourceStripPrefix *string
if m.properties.Java_resources != nil && len(m.properties.Java_resource_dirs) > 0 {
ctx.ModuleErrorf("bp2build doesn't support both java_resources and java_resource_dirs being set on the same module.")
}
if m.properties.Java_resources != nil {
resources.Append(android.BazelLabelForModuleSrc(ctx, m.properties.Java_resources))
resourceStripPrefix = proptools.StringPtr(ctx.ModuleDir())
}
//TODO(b/179889880) handle case where glob includes files outside package