From c33e5216f1eb3f837dee89cc65208eff058e9c5e Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 25 May 2021 18:16:02 -0700 Subject: Treat java libraries in classpath fragments as directly in apex Coverage is applied to java libraries that are directly in an apex. Mark java libraries that are in an apex through a bootclasspath_fragment or a systemserverclasspath_fragment as directly in the apex by implementing CopyDirectlyInAnyApexTag on the dependency tags used for their contents. Bug: 183759446 Test: TestApexJavaCoverage Change-Id: I0116f5f415083b5194000988cb257454ef115200 --- java/systemserver_classpath_fragment.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'java/systemserver_classpath_fragment.go') diff --git a/java/systemserver_classpath_fragment.go b/java/systemserver_classpath_fragment.go index 9111c309f..80bc0dbb4 100644 --- a/java/systemserver_classpath_fragment.go +++ b/java/systemserver_classpath_fragment.go @@ -17,6 +17,7 @@ package java import ( "android/soong/android" "android/soong/dexpreopt" + "github.com/google/blueprint" ) @@ -107,6 +108,12 @@ type systemServerClasspathFragmentContentDependencyTag struct { blueprint.BaseDependencyTag } +// 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.CopyDirectlyInAnyApexTag = systemServerClasspathFragmentContentDepTag + // The tag used for the dependency between the systemserverclasspath_fragment module and its contents. var systemServerClasspathFragmentContentDepTag = systemServerClasspathFragmentContentDependencyTag{} -- cgit v1.2.3-59-g8ed1b