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.
|
// The path to the generated index.csv file.
|
||||||
Index_path android.OptionalPath
|
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.
|
// The path to the generated stub-flags.csv file.
|
||||||
Stub_flags_path android.OptionalPath
|
Stub_flags_path android.OptionalPath
|
||||||
|
|
||||||
@@ -784,6 +787,7 @@ func (b *bootclasspathFragmentSdkMemberProperties) PopulateFromVariant(ctx andro
|
|||||||
b.Metadata_path = android.OptionalPathForPath(hiddenAPIInfo.MetadataPath)
|
b.Metadata_path = android.OptionalPathForPath(hiddenAPIInfo.MetadataPath)
|
||||||
b.Index_path = android.OptionalPathForPath(hiddenAPIInfo.IndexPath)
|
b.Index_path = android.OptionalPathForPath(hiddenAPIInfo.IndexPath)
|
||||||
|
|
||||||
|
b.Signature_patterns_path = android.OptionalPathForPath(hiddenAPIInfo.SignaturePatternsPath)
|
||||||
b.Stub_flags_path = android.OptionalPathForPath(hiddenAPIInfo.StubFlagsPath)
|
b.Stub_flags_path = android.OptionalPathForPath(hiddenAPIInfo.StubFlagsPath)
|
||||||
b.All_flags_path = android.OptionalPathForPath(hiddenAPIInfo.AllFlagsPath)
|
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.Annotation_flags_path, "annotation_flags")
|
||||||
copyOptionalPath(b.Metadata_path, "metadata")
|
copyOptionalPath(b.Metadata_path, "metadata")
|
||||||
copyOptionalPath(b.Index_path, "index")
|
copyOptionalPath(b.Index_path, "index")
|
||||||
|
copyOptionalPath(b.Signature_patterns_path, "signature_patterns")
|
||||||
copyOptionalPath(b.Stub_flags_path, "stub_flags")
|
copyOptionalPath(b.Stub_flags_path, "stub_flags")
|
||||||
copyOptionalPath(b.All_flags_path, "all_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.
|
// The path to the index.csv file created by the bootclasspath_fragment.
|
||||||
Index *string `android:"path"`
|
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.
|
// The path to the stub-flags.csv file created by the bootclasspath_fragment.
|
||||||
Stub_flags *string `android:"path"`
|
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.
|
// 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 {
|
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 {
|
pathForSrc := func(property string, src *string) android.Path {
|
||||||
if src == nil {
|
if src == nil {
|
||||||
ctx.PropertyErrorf(property, "is required but was not specified")
|
ctx.PropertyErrorf(property, "is required but was not specified")
|
||||||
@@ -915,11 +929,12 @@ func (module *prebuiltBootclasspathFragmentModule) produceHiddenAPIOutput(ctx an
|
|||||||
|
|
||||||
output := HiddenAPIOutput{
|
output := HiddenAPIOutput{
|
||||||
HiddenAPIFlagOutput: HiddenAPIFlagOutput{
|
HiddenAPIFlagOutput: HiddenAPIFlagOutput{
|
||||||
AnnotationFlagsPath: pathForSrc("hidden_api.annotation_flags", module.prebuiltProperties.Hidden_api.Annotation_flags),
|
AnnotationFlagsPath: pathForSrc("hidden_api.annotation_flags", module.prebuiltProperties.Hidden_api.Annotation_flags),
|
||||||
MetadataPath: pathForSrc("hidden_api.metadata", module.prebuiltProperties.Hidden_api.Metadata),
|
MetadataPath: pathForSrc("hidden_api.metadata", module.prebuiltProperties.Hidden_api.Metadata),
|
||||||
IndexPath: pathForSrc("hidden_api.index", module.prebuiltProperties.Hidden_api.Index),
|
IndexPath: pathForSrc("hidden_api.index", module.prebuiltProperties.Hidden_api.Index),
|
||||||
StubFlagsPath: pathForSrc("hidden_api.stub_flags", module.prebuiltProperties.Hidden_api.Stub_flags),
|
SignaturePatternsPath: pathForOptionalSrc(module.prebuiltProperties.Hidden_api.Signature_patterns),
|
||||||
AllFlagsPath: pathForSrc("hidden_api.all_flags", module.prebuiltProperties.Hidden_api.All_flags),
|
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,
|
EncodedBootDexFilesByModule: encodedBootDexJarsByModule,
|
||||||
}
|
}
|
||||||
|
@@ -137,6 +137,7 @@ prebuilt_bootclasspath_fragment {
|
|||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||||
metadata: "hiddenapi/metadata.csv",
|
metadata: "hiddenapi/metadata.csv",
|
||||||
index: "hiddenapi/index.csv",
|
index: "hiddenapi/index.csv",
|
||||||
|
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||||
stub_flags: "hiddenapi/stub-flags.csv",
|
stub_flags: "hiddenapi/stub-flags.csv",
|
||||||
all_flags: "hiddenapi/all-flags.csv",
|
all_flags: "hiddenapi/all-flags.csv",
|
||||||
},
|
},
|
||||||
@@ -164,6 +165,7 @@ prebuilt_bootclasspath_fragment {
|
|||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||||
metadata: "hiddenapi/metadata.csv",
|
metadata: "hiddenapi/metadata.csv",
|
||||||
index: "hiddenapi/index.csv",
|
index: "hiddenapi/index.csv",
|
||||||
|
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||||
stub_flags: "hiddenapi/stub-flags.csv",
|
stub_flags: "hiddenapi/stub-flags.csv",
|
||||||
all_flags: "hiddenapi/all-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/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.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/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/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/all-flags.csv -> hiddenapi/all-flags.csv
|
||||||
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
.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",
|
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||||
metadata: "hiddenapi/metadata.csv",
|
metadata: "hiddenapi/metadata.csv",
|
||||||
index: "hiddenapi/index.csv",
|
index: "hiddenapi/index.csv",
|
||||||
|
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||||
stub_flags: "hiddenapi/stub-flags.csv",
|
stub_flags: "hiddenapi/stub-flags.csv",
|
||||||
all_flags: "hiddenapi/all-flags.csv",
|
all_flags: "hiddenapi/all-flags.csv",
|
||||||
},
|
},
|
||||||
@@ -419,6 +423,7 @@ prebuilt_bootclasspath_fragment {
|
|||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||||
metadata: "hiddenapi/metadata.csv",
|
metadata: "hiddenapi/metadata.csv",
|
||||||
index: "hiddenapi/index.csv",
|
index: "hiddenapi/index.csv",
|
||||||
|
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||||
stub_flags: "hiddenapi/stub-flags.csv",
|
stub_flags: "hiddenapi/stub-flags.csv",
|
||||||
all_flags: "hiddenapi/all-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/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.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/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/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/all-flags.csv -> hiddenapi/all-flags.csv
|
||||||
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
.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")
|
rule = module.Output("updatable-bcp-packages.txt")
|
||||||
expectedContents := `'mybootlib\nmyothersdklibrary\n'`
|
expectedContents := `'mybootlib\nmyothersdklibrary\n'`
|
||||||
android.AssertStringEquals(t, "updatable-bcp-packages.txt", expectedContents, rule.Args["content"])
|
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),
|
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),
|
snapshotTestPreparer(checkSnapshotPreferredWithSource, preparerForSnapshot),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -639,6 +653,7 @@ prebuilt_bootclasspath_fragment {
|
|||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||||
metadata: "hiddenapi/metadata.csv",
|
metadata: "hiddenapi/metadata.csv",
|
||||||
index: "hiddenapi/index.csv",
|
index: "hiddenapi/index.csv",
|
||||||
|
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||||
stub_flags: "hiddenapi/stub-flags.csv",
|
stub_flags: "hiddenapi/stub-flags.csv",
|
||||||
all_flags: "hiddenapi/all-flags.csv",
|
all_flags: "hiddenapi/all-flags.csv",
|
||||||
},
|
},
|
||||||
@@ -841,6 +856,7 @@ prebuilt_bootclasspath_fragment {
|
|||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
annotation_flags: "hiddenapi/annotation-flags.csv",
|
||||||
metadata: "hiddenapi/metadata.csv",
|
metadata: "hiddenapi/metadata.csv",
|
||||||
index: "hiddenapi/index.csv",
|
index: "hiddenapi/index.csv",
|
||||||
|
signature_patterns: "hiddenapi/signature-patterns.csv",
|
||||||
stub_flags: "hiddenapi/stub-flags.csv",
|
stub_flags: "hiddenapi/stub-flags.csv",
|
||||||
all_flags: "hiddenapi/all-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/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.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/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/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/all-flags.csv -> hiddenapi/all-flags.csv
|
||||||
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||||
|
Reference in New Issue
Block a user