Prevent systemserverclasspath_fragment from depending on prebuilts
When TARGET_BUILD_APPS is set then TARGET_BUILD_USE_PREBUILT_SDKS=true which causes all java_sdk_library_import modules to be treated as prefer:true. That breaks the build when the systemserverclasspath_fragment's content property references a source java_sdk_library module that has a corresponding java_sdk_library_import prebuilt module. This fixes the issue by marking the dependency from the systemserverclasspath_fragment to the source module as one that must not be replaced with a reference to the prebuilt module. Test: - update art prebuilts to include service-art m TARGET_BUILD_APPS=Calendar apps_only - fails before, works afterwards Bug: 199116972 Change-Id: Ia2d8ce7bb7e644336a42c901f7fb8ea50fd67909
This commit is contained in:
@@ -123,10 +123,16 @@ type systemServerClasspathFragmentContentDependencyTag struct {
|
||||
blueprint.BaseDependencyTag
|
||||
}
|
||||
|
||||
// The systemserverclasspath_fragment contents must never depend on prebuilts.
|
||||
func (systemServerClasspathFragmentContentDependencyTag) ReplaceSourceWithPrebuilt() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// Contents of system server fragments in an apex are considered to be directly in the apex, as if
|
||||
// they were listed in java_libs.
|
||||
func (systemServerClasspathFragmentContentDependencyTag) CopyDirectlyInAnyApex() {}
|
||||
|
||||
var _ android.ReplaceSourceWithPrebuilt = systemServerClasspathFragmentContentDepTag
|
||||
var _ android.CopyDirectlyInAnyApexTag = systemServerClasspathFragmentContentDepTag
|
||||
|
||||
// The tag used for the dependency between the systemserverclasspath_fragment module and its contents.
|
||||
|
Reference in New Issue
Block a user