summaryrefslogtreecommitdiff
path: root/sdk/sdk.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2019-12-05 11:25:53 +0000
committer Paul Duffin <paulduffin@google.com> 2019-12-06 16:13:58 +0000
commita0dbf43a82684ec9055b8798e49b4b6c0936652d (patch)
tree2582e9511989c0a0628fad48cb60882bafd1b6f8 /sdk/sdk.go
parentd835daaadeb87761a064fc8bb0fe5ed74ab36da0 (diff)
Support header and implementation jars in sdk
Add a new java_header_libs property that exports header jars (as java_libs currently does) and switch java_libs to export implementation jars instead. Refactors implementation of the existing library sdk member type so both properties can be supported from common code as they differ only on the jar being exported. Bug: 143678475 Test: m nothing Change-Id: I04642122f72d083bbdfd3290624f957b71ee8875
Diffstat (limited to 'sdk/sdk.go')
-rw-r--r--sdk/sdk.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/sdk/sdk.go b/sdk/sdk.go
index 75c85852c..c7e12b9de 100644
--- a/sdk/sdk.go
+++ b/sdk/sdk.go
@@ -61,7 +61,12 @@ type sdk struct {
}
type sdkProperties struct {
- // The list of java libraries in this SDK
+ // The list of java header libraries in this SDK
+ //
+ // This should be used for java libraries that are provided separately at runtime,
+ // e.g. through an APEX.
+ Java_header_libs []string
+ // The list of java implementation libraries in this SDK
Java_libs []string
// The list of native libraries in this SDK
Native_shared_libs []string
@@ -77,7 +82,7 @@ type sdkMemberDependencyTag struct {
}
// Contains information about the sdk properties that list sdk members, e.g.
-// Java_libs.
+// Java_header_libs.
type sdkMemberListProperty struct {
// the name of the property as used in a .bp file
name string
@@ -106,9 +111,14 @@ var sdkMemberListProperties = []*sdkMemberListProperty{
},
// Members from java package.
{
+ name: "java_header_libs",
+ getter: func(properties *sdkProperties) []string { return properties.Java_header_libs },
+ memberType: java.HeaderLibrarySdkMemberType,
+ },
+ {
name: "java_libs",
getter: func(properties *sdkProperties) []string { return properties.Java_libs },
- memberType: java.LibrarySdkMemberType,
+ memberType: java.ImplLibrarySdkMemberType,
},
{
name: "stubs_sources",