convert java_resources with bp2build

Test: b build --platforms=//build/bazel/platforms:linux_x86
  //external/jarjar:jarjar-binary and try to use on a jar
Change-Id: Id6f4e6937687fd575360fbacaeda55c41922636e
This commit is contained in:
Sam Delmerico
2022-03-23 20:20:42 +00:00
parent 4d92d831ca
commit 79985819fe
4 changed files with 182 additions and 12 deletions

View File

@@ -267,3 +267,108 @@ func TestJavaLibraryLogTags(t *testing.T) {
}),
}})
}
func TestJavaLibraryResources(t *testing.T) {
runJavaLibraryTestCase(t, bp2buildTestCase{
filesystem: map[string]string{
"res/a.res": "",
"res/b.res": "",
"res/dir1/b.res": "",
},
blueprint: `java_library {
name: "java-lib-1",
java_resources: ["res/a.res", "res/b.res"],
}`,
expectedBazelTargets: []string{
makeBazelTarget("java_library", "java-lib-1", attrNameToString{
"resources": `[
"res/a.res",
"res/b.res",
]`,
}),
},
})
}
func TestJavaLibraryResourceDirs(t *testing.T) {
runJavaLibraryTestCase(t, bp2buildTestCase{
filesystem: map[string]string{
"res/a.res": "",
"res/b.res": "",
"res/dir1/b.res": "",
},
blueprint: `java_library {
name: "java-lib-1",
java_resource_dirs: ["res"],
}`,
expectedBazelTargets: []string{
makeBazelTarget("java_library", "java-lib-1", attrNameToString{
"resource_strip_prefix": `"res"`,
"resources": `[
"res/a.res",
"res/b.res",
"res/dir1/b.res",
]`,
}),
},
})
}
func TestJavaLibraryResourcesExcludeDir(t *testing.T) {
runJavaLibraryTestCase(t, bp2buildTestCase{
filesystem: map[string]string{
"res/a.res": "",
"res/exclude/b.res": "",
},
blueprint: `java_library {
name: "java-lib-1",
java_resource_dirs: ["res"],
exclude_java_resource_dirs: ["res/exclude"],
}`,
expectedBazelTargets: []string{
makeBazelTarget("java_library", "java-lib-1", attrNameToString{
"resource_strip_prefix": `"res"`,
"resources": `["res/a.res"]`,
}),
},
})
}
func TestJavaLibraryResourcesExcludeFile(t *testing.T) {
runJavaLibraryTestCase(t, bp2buildTestCase{
filesystem: map[string]string{
"res/a.res": "",
"res/dir1/b.res": "",
"res/dir1/exclude.res": "",
},
blueprint: `java_library {
name: "java-lib-1",
java_resource_dirs: ["res"],
exclude_java_resources: ["res/dir1/exclude.res"],
}`,
expectedBazelTargets: []string{
makeBazelTarget("java_library", "java-lib-1", attrNameToString{
"resource_strip_prefix": `"res"`,
"resources": `[
"res/a.res",
"res/dir1/b.res",
]`,
}),
},
})
}
func TestJavaLibraryResourcesFailsWithMultipleDirs(t *testing.T) {
runJavaLibraryTestCase(t, bp2buildTestCase{
filesystem: map[string]string{
"res/a.res": "",
"res1/a.res": "",
},
blueprint: `java_library {
name: "java-lib-1",
java_resource_dirs: ["res", "res1"],
}`,
expectedErr: fmt.Errorf("bp2build does not support more than one directory in java_resource_dirs (b/226423379)"),
expectedBazelTargets: []string{},
})
}