Filter blocked entries from modular flag files
Previously, the sdk snapshot would include all the entries from the stub-flags.csv and all-flags.csv modular files generated by a single bootclasspath_fragment. That included implementation details, i.e. class members that are not part of a stable API or the hidden API which meant that the sdk snapshots were implementation dependent. This change removes the implementation details from the modular flag files, i.e. those entries that are only marked as "blocked". When comparing the files against the corresponding subset of the monolithic files it assumes that any entries missing from the modular flag files are blocked. Bug: 194063708 Test: atest --host verify_overlaps_test signature_patterns_test m out/soong/hiddenapi/hiddenapi-flags.csv - manually change files to cause difference in flags to check that it detects the differences. Change-Id: I6b67b2253cf029d6830b58a06ebb0c8fcaa0dd71
This commit is contained in:
@@ -138,8 +138,8 @@ prebuilt_bootclasspath_fragment {
|
||||
metadata: "hiddenapi/metadata.csv",
|
||||
index: "hiddenapi/index.csv",
|
||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||
stub_flags: "hiddenapi/stub-flags.csv",
|
||||
all_flags: "hiddenapi/all-flags.csv",
|
||||
stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
||||
all_flags: "hiddenapi/filtered-flags.csv",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -166,8 +166,8 @@ prebuilt_bootclasspath_fragment {
|
||||
metadata: "hiddenapi/metadata.csv",
|
||||
index: "hiddenapi/index.csv",
|
||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||
stub_flags: "hiddenapi/stub-flags.csv",
|
||||
all_flags: "hiddenapi/all-flags.csv",
|
||||
stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
||||
all_flags: "hiddenapi/filtered-flags.csv",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -191,8 +191,8 @@ sdk_snapshot {
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/stub-flags.csv -> hiddenapi/stub-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
|
||||
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||
`),
|
||||
snapshotTestPreparer(checkSnapshotWithoutSource, preparerForSnapshot),
|
||||
@@ -339,8 +339,8 @@ prebuilt_bootclasspath_fragment {
|
||||
metadata: "hiddenapi/metadata.csv",
|
||||
index: "hiddenapi/index.csv",
|
||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||
stub_flags: "hiddenapi/stub-flags.csv",
|
||||
all_flags: "hiddenapi/all-flags.csv",
|
||||
stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
||||
all_flags: "hiddenapi/filtered-flags.csv",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -424,8 +424,8 @@ prebuilt_bootclasspath_fragment {
|
||||
metadata: "hiddenapi/metadata.csv",
|
||||
index: "hiddenapi/index.csv",
|
||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||
stub_flags: "hiddenapi/stub-flags.csv",
|
||||
all_flags: "hiddenapi/all-flags.csv",
|
||||
stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
||||
all_flags: "hiddenapi/filtered-flags.csv",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -503,8 +503,8 @@ sdk_snapshot {
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/stub-flags.csv -> hiddenapi/stub-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
|
||||
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||
.intermediates/myothersdklibrary.stubs/android_common/javac/myothersdklibrary.stubs.jar -> sdk_library/public/myothersdklibrary-stubs.jar
|
||||
.intermediates/myothersdklibrary.stubs.source/android_common/metalava/myothersdklibrary.stubs.source_api.txt -> sdk_library/public/myothersdklibrary.txt
|
||||
@@ -546,13 +546,13 @@ sdk_snapshot {
|
||||
android.AssertStringEquals(t, "updatable-bcp-packages.txt", expectedContents, rule.Args["content"])
|
||||
|
||||
rule = module.Output("out/soong/hiddenapi/hiddenapi-flags.csv.valid")
|
||||
android.AssertStringDoesContain(t, "verify-overlaps", rule.RuleParams.Command, " snapshot/hiddenapi/all-flags.csv:snapshot/hiddenapi/signature-patterns.csv ")
|
||||
android.AssertStringDoesContain(t, "verify-overlaps", rule.RuleParams.Command, " snapshot/hiddenapi/filtered-flags.csv:snapshot/hiddenapi/signature-patterns.csv ")
|
||||
}),
|
||||
snapshotTestPreparer(checkSnapshotWithSourcePreferred, preparerForSnapshot),
|
||||
snapshotTestChecker(checkSnapshotWithSourcePreferred, func(t *testing.T, result *android.TestResult) {
|
||||
module := result.ModuleForTests("platform-bootclasspath", "android_common")
|
||||
rule := module.Output("out/soong/hiddenapi/hiddenapi-flags.csv.valid")
|
||||
android.AssertStringDoesContain(t, "verify-overlaps", rule.RuleParams.Command, " out/soong/.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/all-flags.csv:out/soong/.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/signature-patterns.csv ")
|
||||
android.AssertStringDoesContain(t, "verify-overlaps", rule.RuleParams.Command, " out/soong/.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/filtered-flags.csv:out/soong/.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/signature-patterns.csv ")
|
||||
}),
|
||||
snapshotTestPreparer(checkSnapshotPreferredWithSource, preparerForSnapshot),
|
||||
)
|
||||
@@ -654,8 +654,8 @@ prebuilt_bootclasspath_fragment {
|
||||
metadata: "hiddenapi/metadata.csv",
|
||||
index: "hiddenapi/index.csv",
|
||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||
stub_flags: "hiddenapi/stub-flags.csv",
|
||||
all_flags: "hiddenapi/all-flags.csv",
|
||||
stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
||||
all_flags: "hiddenapi/filtered-flags.csv",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -857,8 +857,8 @@ prebuilt_bootclasspath_fragment {
|
||||
metadata: "hiddenapi/metadata.csv",
|
||||
index: "hiddenapi/index.csv",
|
||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||
stub_flags: "hiddenapi/stub-flags.csv",
|
||||
all_flags: "hiddenapi/all-flags.csv",
|
||||
stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
||||
all_flags: "hiddenapi/filtered-flags.csv",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -901,8 +901,8 @@ my-unsupported-packages.txt -> hiddenapi/my-unsupported-packages.txt
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/stub-flags.csv -> hiddenapi/stub-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
|
||||
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||
.intermediates/mysdklibrary.stubs/android_common/javac/mysdklibrary.stubs.jar -> sdk_library/public/mysdklibrary-stubs.jar
|
||||
.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_api.txt -> sdk_library/public/mysdklibrary.txt
|
||||
|
Reference in New Issue
Block a user