Add libraryDependencyTag to track dependencies on static and shared libraries
dependencyTag uses a set of predefined tags to identify different types of dependencies. There are already multiple bits of metadata stored in the dependency tag (Library, Shared, ReexportFlags), and supporting them all requires a combinatorial explosion of predefined tags and causes issues when using equality comparisons if a new bit of metadata is added. Add a new libraryDependencyTag type that will contain the metadata bits, and replace the quality comparisons with checks on the metadata bits. There are 5 TODOs where modifying the checks identified problems with the existing checks. These were left in place to produce identical build output and will be fixed separately. Bug: 162437057 Test: no change to build.ninja or {Android,make_vars,late}-${TARGET_PRODUCT}.mk Change-Id: I72d4207dcf381c07c92e00e5a03968ebb5ed8d30
This commit is contained in:
@@ -4433,11 +4433,11 @@ func TestApexAvailable_DirectDep(t *testing.T) {
|
||||
func TestApexAvailable_IndirectDep(t *testing.T) {
|
||||
// libbbaz is an indirect dep
|
||||
testApexError(t, `requires "libbaz" that is not available for the APEX. Dependency path:
|
||||
.*via tag apex\.dependencyTag.*"sharedLib".*
|
||||
.*via tag apex\.dependencyTag.*name:sharedLib.*
|
||||
.*-> libfoo.*link:shared.*
|
||||
.*via tag cc\.DependencyTag.*"shared".*
|
||||
.*via tag cc\.libraryDependencyTag.*Kind:sharedLibraryDependency.*
|
||||
.*-> libbar.*link:shared.*
|
||||
.*via tag cc\.DependencyTag.*"shared".*
|
||||
.*via tag cc\.libraryDependencyTag.*Kind:sharedLibraryDependency.*
|
||||
.*-> libbaz.*link:shared.*`, `
|
||||
apex {
|
||||
name: "myapex",
|
||||
|
Reference in New Issue
Block a user