Allow cc_prebuilt version suffix to include svn

This commit allows cc_prebuilt version suffix to include `svn`, e.g.
`libclang.so.8svn`.  The rationale behind this commit is that latest
LLVM/Clang prebuilt binaries use `.8svn` as the version suffix.

Bug: 111579848
Test: header-abi-dumper builds with the latest binaries
Change-Id: I91594c5d8bc57605e2e0facb0a867dc4a4a17fe6
This commit is contained in:
Logan Chien
2018-09-26 10:49:05 +08:00
parent 7692bf2468
commit e4d5a6c486
2 changed files with 17 additions and 1 deletions

View File

@@ -105,7 +105,7 @@ func addSuffix(list []string, suffix string) []string {
return list
}
var shlibVersionPattern = regexp.MustCompile("(?:\\.\\d+)+")
var shlibVersionPattern = regexp.MustCompile("(?:\\.\\d+(?:svn)?)+")
// splitFileExt splits a file name into root, suffix and ext. root stands for the file name without
// the file extension and the version number (e.g. "libexample"). suffix stands for the

View File

@@ -35,6 +35,22 @@ func TestSplitFileExt(t *testing.T) {
}
})
t.Run("soname with svn version", func(t *testing.T) {
root, suffix, ext := splitFileExt("libtest.so.1svn")
expected := "libtest"
if root != expected {
t.Errorf("root should be %q but got %q", expected, root)
}
expected = ".so.1svn"
if suffix != expected {
t.Errorf("suffix should be %q but got %q", expected, suffix)
}
expected = ".so"
if ext != expected {
t.Errorf("ext should be %q but got %q", expected, ext)
}
})
t.Run("version numbers in the middle should be ignored", func(t *testing.T) {
root, suffix, ext := splitFileExt("libtest.1.0.30.so")
expected := "libtest.1.0.30"