Export signature patterns to sdk snapshot
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: Ic819def9b0c41e3b22fb98582cd39f6d27080a32
This commit is contained in:
@@ -761,6 +761,9 @@ type bootclasspathFragmentSdkMemberProperties struct {
|
||||
// The path to the generated index.csv file.
|
||||
Index_path android.OptionalPath
|
||||
|
||||
// The path to the generated signature-patterns.csv file.
|
||||
Signature_patterns_path android.OptionalPath
|
||||
|
||||
// The path to the generated stub-flags.csv file.
|
||||
Stub_flags_path android.OptionalPath
|
||||
|
||||
@@ -784,6 +787,7 @@ func (b *bootclasspathFragmentSdkMemberProperties) PopulateFromVariant(ctx andro
|
||||
b.Metadata_path = android.OptionalPathForPath(hiddenAPIInfo.MetadataPath)
|
||||
b.Index_path = android.OptionalPathForPath(hiddenAPIInfo.IndexPath)
|
||||
|
||||
b.Signature_patterns_path = android.OptionalPathForPath(hiddenAPIInfo.SignaturePatternsPath)
|
||||
b.Stub_flags_path = android.OptionalPathForPath(hiddenAPIInfo.StubFlagsPath)
|
||||
b.All_flags_path = android.OptionalPathForPath(hiddenAPIInfo.AllFlagsPath)
|
||||
|
||||
@@ -851,6 +855,7 @@ func (b *bootclasspathFragmentSdkMemberProperties) AddToPropertySet(ctx android.
|
||||
copyOptionalPath(b.Annotation_flags_path, "annotation_flags")
|
||||
copyOptionalPath(b.Metadata_path, "metadata")
|
||||
copyOptionalPath(b.Index_path, "index")
|
||||
copyOptionalPath(b.Signature_patterns_path, "signature_patterns")
|
||||
copyOptionalPath(b.Stub_flags_path, "stub_flags")
|
||||
copyOptionalPath(b.All_flags_path, "all_flags")
|
||||
}
|
||||
@@ -870,6 +875,9 @@ type prebuiltBootclasspathFragmentProperties struct {
|
||||
// The path to the index.csv file created by the bootclasspath_fragment.
|
||||
Index *string `android:"path"`
|
||||
|
||||
// The path to the signature-patterns.csv file created by the bootclasspath_fragment.
|
||||
Signature_patterns *string `android:"path"`
|
||||
|
||||
// The path to the stub-flags.csv file created by the bootclasspath_fragment.
|
||||
Stub_flags *string `android:"path"`
|
||||
|
||||
@@ -901,6 +909,12 @@ func (module *prebuiltBootclasspathFragmentModule) Name() string {
|
||||
|
||||
// produceHiddenAPIOutput returns a path to the prebuilt all-flags.csv or nil if none is specified.
|
||||
func (module *prebuiltBootclasspathFragmentModule) produceHiddenAPIOutput(ctx android.ModuleContext, contents []android.Module, input HiddenAPIFlagInput) *HiddenAPIOutput {
|
||||
pathForOptionalSrc := func(src *string) android.Path {
|
||||
if src == nil {
|
||||
return nil
|
||||
}
|
||||
return android.PathForModuleSrc(ctx, *src)
|
||||
}
|
||||
pathForSrc := func(property string, src *string) android.Path {
|
||||
if src == nil {
|
||||
ctx.PropertyErrorf(property, "is required but was not specified")
|
||||
@@ -915,11 +929,12 @@ func (module *prebuiltBootclasspathFragmentModule) produceHiddenAPIOutput(ctx an
|
||||
|
||||
output := HiddenAPIOutput{
|
||||
HiddenAPIFlagOutput: HiddenAPIFlagOutput{
|
||||
AnnotationFlagsPath: pathForSrc("hidden_api.annotation_flags", module.prebuiltProperties.Hidden_api.Annotation_flags),
|
||||
MetadataPath: pathForSrc("hidden_api.metadata", module.prebuiltProperties.Hidden_api.Metadata),
|
||||
IndexPath: pathForSrc("hidden_api.index", module.prebuiltProperties.Hidden_api.Index),
|
||||
StubFlagsPath: pathForSrc("hidden_api.stub_flags", module.prebuiltProperties.Hidden_api.Stub_flags),
|
||||
AllFlagsPath: pathForSrc("hidden_api.all_flags", module.prebuiltProperties.Hidden_api.All_flags),
|
||||
AnnotationFlagsPath: pathForSrc("hidden_api.annotation_flags", module.prebuiltProperties.Hidden_api.Annotation_flags),
|
||||
MetadataPath: pathForSrc("hidden_api.metadata", module.prebuiltProperties.Hidden_api.Metadata),
|
||||
IndexPath: pathForSrc("hidden_api.index", module.prebuiltProperties.Hidden_api.Index),
|
||||
SignaturePatternsPath: pathForOptionalSrc(module.prebuiltProperties.Hidden_api.Signature_patterns),
|
||||
StubFlagsPath: pathForSrc("hidden_api.stub_flags", module.prebuiltProperties.Hidden_api.Stub_flags),
|
||||
AllFlagsPath: pathForSrc("hidden_api.all_flags", module.prebuiltProperties.Hidden_api.All_flags),
|
||||
},
|
||||
EncodedBootDexFilesByModule: encodedBootDexJarsByModule,
|
||||
}
|
||||
|
@@ -137,6 +137,7 @@ prebuilt_bootclasspath_fragment {
|
||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||
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",
|
||||
},
|
||||
@@ -164,6 +165,7 @@ prebuilt_bootclasspath_fragment {
|
||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||
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",
|
||||
},
|
||||
@@ -188,6 +190,7 @@ sdk_snapshot {
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||
.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/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||
@@ -335,6 +338,7 @@ prebuilt_bootclasspath_fragment {
|
||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||
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",
|
||||
},
|
||||
@@ -419,6 +423,7 @@ prebuilt_bootclasspath_fragment {
|
||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||
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",
|
||||
},
|
||||
@@ -497,6 +502,7 @@ sdk_snapshot {
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||
.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/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||
@@ -538,8 +544,16 @@ sdk_snapshot {
|
||||
rule = module.Output("updatable-bcp-packages.txt")
|
||||
expectedContents := `'mybootlib\nmyothersdklibrary\n'`
|
||||
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 ")
|
||||
}),
|
||||
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 ")
|
||||
}),
|
||||
snapshotTestPreparer(checkSnapshotPreferredWithSource, preparerForSnapshot),
|
||||
)
|
||||
}
|
||||
@@ -639,6 +653,7 @@ prebuilt_bootclasspath_fragment {
|
||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||
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",
|
||||
},
|
||||
@@ -841,6 +856,7 @@ prebuilt_bootclasspath_fragment {
|
||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||
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",
|
||||
},
|
||||
@@ -884,6 +900,7 @@ my-unsupported-packages.txt -> hiddenapi/my-unsupported-packages.txt
|
||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||
.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/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||
|
Reference in New Issue
Block a user