Move classpaths.proto related info into a separate provider.
The new info struct can be easily shared with systemserverclasspath
fragments.
Bug: 180105615
Test: m nothing
Merged-In: I9986e64fdf19f4168da63c156de3dc9bcafac8d8
Change-Id: I9986e64fdf19f4168da63c156de3dc9bcafac8d8
(cherry picked from commit 14e49130bbeba7d222c8851e2f59710ac0f6eb71)
diff --git a/apex/apex.go b/apex/apex.go
index a35f3f5..70c2e22 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -2053,13 +2053,19 @@
}
// Add classpaths.proto config.
- classpathProtoOutput := bootclasspathFragmentInfo.ClasspathFragmentProtoOutput
- classpathProto := newApexFile(ctx, classpathProtoOutput, classpathProtoOutput.Base(), bootclasspathFragmentInfo.ClasspathFragmentProtoInstallDir.Rel(), etc, nil)
- filesToAdd = append(filesToAdd, classpathProto)
+ filesToAdd = append(filesToAdd, apexClasspathFragmentProtoFile(ctx, module))
return filesToAdd
}
+// apexClasspathFragmentProtoFile returns apexFile structure defining the classpath.proto config that
+// the module contributes to the apex.
+func apexClasspathFragmentProtoFile(ctx android.ModuleContext, module blueprint.Module) apexFile {
+ fragmentInfo := ctx.OtherModuleProvider(module, java.ClasspathFragmentProtoContentInfoProvider).(java.ClasspathFragmentProtoContentInfo)
+ classpathProtoOutput := fragmentInfo.ClasspathFragmentProtoOutput
+ return newApexFile(ctx, classpathProtoOutput, classpathProtoOutput.Base(), fragmentInfo.ClasspathFragmentProtoInstallDir.Rel(), etc, nil)
+}
+
// apexFileForBootclasspathFragmentContentModule creates an apexFile for a bootclasspath_fragment
// content module, i.e. a library that is part of the bootclasspath.
func apexFileForBootclasspathFragmentContentModule(ctx android.ModuleContext, fragmentModule blueprint.Module, javaModule javaModule) apexFile {