summaryrefslogtreecommitdiff
path: root/java/classpath_element.go
AgeCommit message (Collapse)Author
2025-02-07Pass libraryToApex and apexNameToFragment mappings into CreateClasspathElements Colin Cross
Remove a usage of ApexInfo.InApexVariants by collecting the libraryToApex and apexToFragment mappings while collecting the fragments and passing them into CreateClasspathElements. Bug: 372543712 Test: CreateClasspathElementTest Change-Id: I03adc821b04bc01828f075f25bbb8124505859a7
2023-12-14Convert OtherModuleProvider to generic providers API Colin Cross
Convert all of the callers of OtherModuleProvider/OtherModuleHasProvider to use the type-safe android.OtherModuleProvider API. Bug: 316410648 Test: builds Change-Id: Id77f514d68761a262d9ea830a601dbed804bbbe5
2023-12-14Use generics for providers API Colin Cross
Using generics for the providers API allows a type to be associated with a ProviderKey, resulting in a type-safe API without that doesn't require runtime type assertions by every caller. Unfortunately, Go does not allow generic types in methods, only in functions [1]. This prevents a type-safe API on ModuleContext, and requires moving the API to be functions that take a ModuleContext as a parameter. This CL creates the new API, but doesn't convert all of the callers. [1] https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md#no-parameterized-methods) Bug: 316410648 Test: builds Change-Id: I3e30d68b966b730efd968166a38a25cc144bd6de
2022-08-17Reformat build/soong for go 1.19 Colin Cross
Test: none Change-Id: I132368f0fcbdb5ea088b5b84dbe4ccfdd9e94cad
2021-06-18Add ClasspathElement support Paul Duffin
The configuration of the bootclasspath, e.g. PRODUCT_BOOT_JARS, includes libraries that are standalone and libraries that are part of an APEX. All libraries that are part of an APEX must also be part of a bootclasspath_fragment. Currently, the libraries and fragments are handled separately but that is limiting as it does not make it easy to process all the libraries while treating those from fragments differently to standalone libraries. That is needed for hidden API processing as it needs to use classesJars from standalone libraries but pre-generated flag files from fragments. This change adds support for ClasspathElements which is represents the classpath as a whole while differentiating between standalone libraries and fragments. Bug: 177892522 Test: m nothing Change-Id: I7a4adc67164a46079eb8ec0a17fc755044b4949d