Loading apex/platform_bootclasspath_test.go +2 −2 Original line number Diff line number Diff line Loading @@ -163,8 +163,8 @@ func TestPlatformBootclasspath_Fragments(t *testing.T) { android.AssertPathsRelativeToTopEquals(t, "metadata flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/metadata.csv"}, info.MetadataPaths) android.AssertPathsRelativeToTopEquals(t, "index flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/index.csv"}, info.IndexPaths) android.AssertArrayString(t, "stub flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/stub-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.StubFlagSubsets.RelativeToTop()) android.AssertArrayString(t, "all flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/all-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.FlagSubsets.RelativeToTop()) android.AssertArrayString(t, "stub flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/filtered-stub-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.StubFlagSubsets.RelativeToTop()) android.AssertArrayString(t, "all flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/filtered-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.FlagSubsets.RelativeToTop()) } func TestPlatformBootclasspathDependencies(t *testing.T) { Loading java/hiddenapi_modular.go +28 −2 Original line number Diff line number Diff line Loading @@ -948,6 +948,22 @@ func buildRuleSignaturePatternsFile(ctx android.ModuleContext, flagsPath android return patternsFile } // buildRuleRemoveBlockedFlag creates a rule that will remove entries from the input path which // only have blocked flags. It will not remove entries that have blocked as well as other flags, // e.g. blocked,core-platform-api. func buildRuleRemoveBlockedFlag(ctx android.BuilderContext, name string, desc string, inputPath android.Path, filteredPath android.WritablePath) { rule := android.NewRuleBuilder(pctx, ctx) rule.Command(). Text(`grep -vE "^[^,]+,blocked$"`).Input(inputPath).Text(">").Output(filteredPath). // Grep's exit code depends on whether it finds anything. It is 0 (build success) when it finds // something and 1 (build failure) when it does not and 2 (when it encounters an error). // However, while it is unlikely it is not an error if this does not find any matches. The // following will only run if the grep does not find something and in that case it will treat // an exit code of 1 as success and anything else as failure. Text("|| test $? -eq 1") rule.Build(name, desc) } // buildRuleValidateOverlappingCsvFiles checks that the modular CSV files, i.e. the files generated // by the individual bootclasspath_fragment modules are subsets of the monolithic CSV file. func buildRuleValidateOverlappingCsvFiles(ctx android.BuilderContext, name string, desc string, monolithicFilePath android.WritablePath, csvSubsets SignatureCsvSubsets) android.WritablePath { Loading Loading @@ -1036,14 +1052,24 @@ func hiddenAPIRulesForBootclasspathFragment(ctx android.ModuleContext, contents encodedBootDexJarsByModule[name] = encodedDex } // Generate the filtered-stub-flags.csv file which contains the filtered stub flags that will be // compared against the monolithic stub flags. filteredStubFlagsCSV := android.PathForModuleOut(ctx, hiddenApiSubDir, "filtered-stub-flags.csv") buildRuleRemoveBlockedFlag(ctx, "modularHiddenApiFilteredStubFlags", "modular hiddenapi filtered stub flags", stubFlagsCSV, filteredStubFlagsCSV) // Generate the filtered-flags.csv file which contains the filtered flags that will be compared // against the monolithic flags. filteredFlagsCSV := android.PathForModuleOut(ctx, hiddenApiSubDir, "filtered-flags.csv") buildRuleRemoveBlockedFlag(ctx, "modularHiddenApiFilteredFlags", "modular hiddenapi filtered flags", allFlagsCSV, filteredFlagsCSV) // Store the paths in the info for use by other modules and sdk snapshot generation. output := HiddenAPIOutput{ HiddenAPIFlagOutput: HiddenAPIFlagOutput{ StubFlagsPath: stubFlagsCSV, StubFlagsPath: filteredStubFlagsCSV, AnnotationFlagsPath: annotationFlagsCSV, MetadataPath: metadataCSV, IndexPath: indexCSV, AllFlagsPath: allFlagsCSV, AllFlagsPath: filteredFlagsCSV, }, EncodedBootDexFilesByModule: encodedBootDexJarsByModule, } Loading scripts/hiddenapi/verify_overlaps.py +5 −2 Original line number Diff line number Diff line Loading @@ -331,8 +331,11 @@ def compare_signature_flags(monolithicFlagsDict, modularFlagsDict): for signature in allSignatures: monolithicRow = monolithicFlagsDict.get(signature, {}) monolithicFlags = monolithicRow.get(None, []) if signature in modularFlagsDict: modularRow = modularFlagsDict.get(signature, {}) modularFlags = modularRow.get(None, []) else: modularFlags = ["blocked"] if monolithicFlags != modularFlags: mismatchingSignatures.append((signature, modularFlags, monolithicFlags)) return mismatchingSignatures Loading scripts/hiddenapi/verify_overlaps_test.py +4 −10 Original line number Diff line number Diff line Loading @@ -298,7 +298,7 @@ Ljava/lang/Object;->toString()Ljava/lang/String;,blocked ] self.assertEqual(expected, mismatches) def test_missing_from_monolithic(self): def test_match_treat_missing_from_modular_as_blocked(self): monolithic = self.read_signature_csv_from_string_as_dict('') modular = self.read_signature_csv_from_string_as_dict(''' Ljava/lang/Object;->toString()Ljava/lang/String;,public-api,system-api,test-api Loading @@ -313,7 +313,7 @@ Ljava/lang/Object;->toString()Ljava/lang/String;,public-api,system-api,test-api ] self.assertEqual(expected, mismatches) def test_missing_from_modular(self): def test_mismatch_treat_missing_from_modular_as_blocked(self): monolithic = self.read_signature_csv_from_string_as_dict(''' Ljava/lang/Object;->hashCode()I,public-api,system-api,test-api ''') Loading @@ -322,7 +322,7 @@ Ljava/lang/Object;->hashCode()I,public-api,system-api,test-api expected = [ ( 'Ljava/lang/Object;->hashCode()I', [], ['blocked'], ['public-api', 'system-api', 'test-api'], ), ] Loading @@ -334,13 +334,7 @@ Ljava/lang/Object;->hashCode()I,blocked ''') modular = {} mismatches = compare_signature_flags(monolithic, modular) expected = [ ( 'Ljava/lang/Object;->hashCode()I', [], ['blocked'], ), ] expected = [] self.assertEqual(expected, mismatches) if __name__ == '__main__': Loading sdk/bootclasspath_fragment_sdk_test.go +20 −20 Original line number Diff line number Diff line Loading @@ -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", }, } Loading @@ -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", }, } Loading @@ -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), Loading Loading @@ -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", }, } Loading Loading @@ -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", }, } Loading Loading @@ -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 Loading Loading @@ -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), ) Loading Loading @@ -655,8 +655,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", }, } Loading Loading @@ -858,8 +858,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", }, } Loading Loading @@ -902,8 +902,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 Loading Loading
apex/platform_bootclasspath_test.go +2 −2 Original line number Diff line number Diff line Loading @@ -163,8 +163,8 @@ func TestPlatformBootclasspath_Fragments(t *testing.T) { android.AssertPathsRelativeToTopEquals(t, "metadata flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/metadata.csv"}, info.MetadataPaths) android.AssertPathsRelativeToTopEquals(t, "index flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/index.csv"}, info.IndexPaths) android.AssertArrayString(t, "stub flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/stub-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.StubFlagSubsets.RelativeToTop()) android.AssertArrayString(t, "all flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/all-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.FlagSubsets.RelativeToTop()) android.AssertArrayString(t, "stub flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/filtered-stub-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.StubFlagSubsets.RelativeToTop()) android.AssertArrayString(t, "all flags", []string{"out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/filtered-flags.csv:out/soong/.intermediates/bar-fragment/android_common_apex10000/modular-hiddenapi/signature-patterns.csv"}, info.FlagSubsets.RelativeToTop()) } func TestPlatformBootclasspathDependencies(t *testing.T) { Loading
java/hiddenapi_modular.go +28 −2 Original line number Diff line number Diff line Loading @@ -948,6 +948,22 @@ func buildRuleSignaturePatternsFile(ctx android.ModuleContext, flagsPath android return patternsFile } // buildRuleRemoveBlockedFlag creates a rule that will remove entries from the input path which // only have blocked flags. It will not remove entries that have blocked as well as other flags, // e.g. blocked,core-platform-api. func buildRuleRemoveBlockedFlag(ctx android.BuilderContext, name string, desc string, inputPath android.Path, filteredPath android.WritablePath) { rule := android.NewRuleBuilder(pctx, ctx) rule.Command(). Text(`grep -vE "^[^,]+,blocked$"`).Input(inputPath).Text(">").Output(filteredPath). // Grep's exit code depends on whether it finds anything. It is 0 (build success) when it finds // something and 1 (build failure) when it does not and 2 (when it encounters an error). // However, while it is unlikely it is not an error if this does not find any matches. The // following will only run if the grep does not find something and in that case it will treat // an exit code of 1 as success and anything else as failure. Text("|| test $? -eq 1") rule.Build(name, desc) } // buildRuleValidateOverlappingCsvFiles checks that the modular CSV files, i.e. the files generated // by the individual bootclasspath_fragment modules are subsets of the monolithic CSV file. func buildRuleValidateOverlappingCsvFiles(ctx android.BuilderContext, name string, desc string, monolithicFilePath android.WritablePath, csvSubsets SignatureCsvSubsets) android.WritablePath { Loading Loading @@ -1036,14 +1052,24 @@ func hiddenAPIRulesForBootclasspathFragment(ctx android.ModuleContext, contents encodedBootDexJarsByModule[name] = encodedDex } // Generate the filtered-stub-flags.csv file which contains the filtered stub flags that will be // compared against the monolithic stub flags. filteredStubFlagsCSV := android.PathForModuleOut(ctx, hiddenApiSubDir, "filtered-stub-flags.csv") buildRuleRemoveBlockedFlag(ctx, "modularHiddenApiFilteredStubFlags", "modular hiddenapi filtered stub flags", stubFlagsCSV, filteredStubFlagsCSV) // Generate the filtered-flags.csv file which contains the filtered flags that will be compared // against the monolithic flags. filteredFlagsCSV := android.PathForModuleOut(ctx, hiddenApiSubDir, "filtered-flags.csv") buildRuleRemoveBlockedFlag(ctx, "modularHiddenApiFilteredFlags", "modular hiddenapi filtered flags", allFlagsCSV, filteredFlagsCSV) // Store the paths in the info for use by other modules and sdk snapshot generation. output := HiddenAPIOutput{ HiddenAPIFlagOutput: HiddenAPIFlagOutput{ StubFlagsPath: stubFlagsCSV, StubFlagsPath: filteredStubFlagsCSV, AnnotationFlagsPath: annotationFlagsCSV, MetadataPath: metadataCSV, IndexPath: indexCSV, AllFlagsPath: allFlagsCSV, AllFlagsPath: filteredFlagsCSV, }, EncodedBootDexFilesByModule: encodedBootDexJarsByModule, } Loading
scripts/hiddenapi/verify_overlaps.py +5 −2 Original line number Diff line number Diff line Loading @@ -331,8 +331,11 @@ def compare_signature_flags(monolithicFlagsDict, modularFlagsDict): for signature in allSignatures: monolithicRow = monolithicFlagsDict.get(signature, {}) monolithicFlags = monolithicRow.get(None, []) if signature in modularFlagsDict: modularRow = modularFlagsDict.get(signature, {}) modularFlags = modularRow.get(None, []) else: modularFlags = ["blocked"] if monolithicFlags != modularFlags: mismatchingSignatures.append((signature, modularFlags, monolithicFlags)) return mismatchingSignatures Loading
scripts/hiddenapi/verify_overlaps_test.py +4 −10 Original line number Diff line number Diff line Loading @@ -298,7 +298,7 @@ Ljava/lang/Object;->toString()Ljava/lang/String;,blocked ] self.assertEqual(expected, mismatches) def test_missing_from_monolithic(self): def test_match_treat_missing_from_modular_as_blocked(self): monolithic = self.read_signature_csv_from_string_as_dict('') modular = self.read_signature_csv_from_string_as_dict(''' Ljava/lang/Object;->toString()Ljava/lang/String;,public-api,system-api,test-api Loading @@ -313,7 +313,7 @@ Ljava/lang/Object;->toString()Ljava/lang/String;,public-api,system-api,test-api ] self.assertEqual(expected, mismatches) def test_missing_from_modular(self): def test_mismatch_treat_missing_from_modular_as_blocked(self): monolithic = self.read_signature_csv_from_string_as_dict(''' Ljava/lang/Object;->hashCode()I,public-api,system-api,test-api ''') Loading @@ -322,7 +322,7 @@ Ljava/lang/Object;->hashCode()I,public-api,system-api,test-api expected = [ ( 'Ljava/lang/Object;->hashCode()I', [], ['blocked'], ['public-api', 'system-api', 'test-api'], ), ] Loading @@ -334,13 +334,7 @@ Ljava/lang/Object;->hashCode()I,blocked ''') modular = {} mismatches = compare_signature_flags(monolithic, modular) expected = [ ( 'Ljava/lang/Object;->hashCode()I', [], ['blocked'], ), ] expected = [] self.assertEqual(expected, mismatches) if __name__ == '__main__': Loading
sdk/bootclasspath_fragment_sdk_test.go +20 −20 Original line number Diff line number Diff line Loading @@ -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", }, } Loading @@ -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", }, } Loading @@ -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), Loading Loading @@ -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", }, } Loading Loading @@ -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", }, } Loading Loading @@ -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 Loading Loading @@ -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), ) Loading Loading @@ -655,8 +655,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", }, } Loading Loading @@ -858,8 +858,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", }, } Loading Loading @@ -902,8 +902,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 Loading