Commit Graph

2505 Commits

Author SHA1 Message Date
Jaewoong Jung
75b78df026 Merge "Add apex_set module." am: 805f2492e8 am: 23b4707ddc
Change-Id: I47e7a67ea8b2af27860531e67dd66c854b6bca70
2020-05-15 23:43:41 +00:00
Jaewoong Jung
805f2492e8 Merge "Add apex_set module." 2020-05-15 23:13:38 +00:00
Treehugger Robot
e070b8ebb4 Merge "Add lineage file to deps for signapk." 2020-05-15 20:48:09 +00:00
Jaewoong Jung
fa00c06187 Add apex_set module.
apex_set takes an .apks file that contains a set of prebuilt apexes with
different configurations. It uses extract_apks to select and install the
best matching one for the current target.

Bug: 153456259
Test: apex_test.go
Test: com.android.media.apks
Change-Id: I1da8bbcf1611b7c580a0cb225856cbd7029cc0a7
2020-05-15 11:02:01 -07:00
Jaewoong Jung
eb899879a1 Merge changes from topic "prebuilt_apk_set" am: a3e8885658 am: c067b0280c
Change-Id: Id7848044c6a0bbf18c005fc04e037b8ae4345903
2020-05-15 12:54:15 +00:00
Sasha Smundak
a7856c0077 Implement android_app_set module
Bug: 152319766
Test: manual and builtin
Change-Id: Id0877476f9ae23311d92c0b59a9c568140ab4119
2020-05-14 19:01:11 -07:00
Colin Cross
13f9a2ec06 Merge "Don't use SDK variant for vendor JNI libraries" am: cb1d161666 am: d75524f322
Change-Id: I5684f17281e31e8d6ffc9d0c7541d55c1bbd0bba
2020-05-15 00:17:18 +00:00
Liz Kammer
a7126555c9 Add lineage file to deps for signapk.
(This is a cherry pick.)

Test: app_test.go
Bug: 153366049
Merged-In: I1481eb51d5d02674922459bdfac65c59d1130015
Change-Id: I1481eb51d5d02674922459bdfac65c59d1130015
2020-05-14 16:29:36 -07:00
Treehugger Robot
dcd0fc4be7 Merge "Add signing certificate lineage support to soong" 2020-05-14 23:11:24 +00:00
Colin Cross
cb1d161666 Merge "Don't use SDK variant for vendor JNI libraries" 2020-05-14 22:59:47 +00:00
Treehugger Robot
6b41bb2b46 Merge "Correct module_lib scope name" am: 5e5478787b am: 2f92f179b7
Change-Id: Icb8f0c9b5832476bd00cd12f2c75ee55d686dce2
2020-05-14 10:56:18 +00:00
Paul Duffin
6b836ba566 Correct module_lib scope name
The module_lib scope should be called module-lib in order to pick up
the latest filegroup. Without it the API lint does not use a baseline
and so reports issues with released and unchangeable APIs.

It is also needed for the correct dist path.

Test: m update-api
Bug: 155164730
Change-Id: I7dbafd7164d5da600ca45c39a7f93a5a40027a1f
2020-05-14 00:53:50 +01:00
Paul Duffin
7f43899166 Merge "java_sdk_library: Propagate naming_scheme to snapshot" am: f9088b03c2 am: 2cf524acd3
Change-Id: I0b07ea455d48287a261554df19d8757b3cc1fbe2
2020-05-13 23:51:11 +00:00
Treehugger Robot
b24201202c Merge "Reland "enforce sdk_version for JNI libs for updatable APKs"" am: bb008e6213 am: eb07296b5b
Change-Id: Ibc0335f3cdf08c13ea9dd26472db50b91c63135c
2020-05-13 23:50:51 +00:00
Paul Duffin
f9088b03c2 Merge "java_sdk_library: Propagate naming_scheme to snapshot" 2020-05-13 23:49:20 +00:00
Treehugger Robot
bb008e6213 Merge "Reland "enforce sdk_version for JNI libs for updatable APKs"" 2020-05-13 23:24:26 +00:00
Paul Duffin
06ccf23389 java_sdk_library_import: Propagate prefer to child modules am: 38b5785e3f am: b08ba780c5
Change-Id: I88dbbef53348faa9dfdaa0cbe41f4fb2e5c7fd24
2020-05-13 22:15:17 +00:00
Liz Kammer
e2b27f473f Add signing certificate lineage support to soong
(This is a cherry pick.)

Test: app_test
Bug: 153366049
Merged-In: I65a92d6c40057dcc01950991fb7be485de1c9080
Change-Id: I65a92d6c40057dcc01950991fb7be485de1c9080
2020-05-13 14:30:53 -07:00
Paul Duffin
f7a6433bab java_sdk_library: Propagate naming_scheme to snapshot
Bug: 155164730
Test: m nothing
Change-Id: Iec7c52d2102b6294540090f3c1e32bd9d8cc7da8
2020-05-13 20:40:53 +01:00
Paul Duffin
38b5785e3f java_sdk_library_import: Propagate prefer to child modules
Bug: 155164730
Test: m nothing
Change-Id: Idb06d79baf346ac570beada79880814c5ef6bb50
2020-05-13 20:40:53 +01:00
Colin Cross
c2d24050c5 Don't use SDK variant for vendor JNI libraries
Vendor JNI libraries already have stable APIs enforced by the VNDK,
they shouldn't use SDK variants.

Bug: 156225490
Test: TestJNISDK
Change-Id: I21ba67e8e9fb05016caf5888129adc1a939545c2
2020-05-13 11:10:38 -07:00
Paul Duffin
6195b4f87d java_sdk_library: Add sdk_version for API scopes am: 87a05a389d am: e04ce887d2
Change-Id: Idc356ed16367c488a111e61609f6c8ff33c3dc06
2020-05-13 16:53:29 +00:00
Jooyung Han
bbc3fb780b Reland "enforce sdk_version for JNI libs for updatable APKs"
JNI libs for "updatable" APKs or APKs in "updatable" APEXes should set
sdk_version which is equal to or less than APK's min_sdk_version.

In fact, we'd better check if min_sdk_version of JNI libs matches(or is
earlier than) min_sdk_version of the APK. But for now the build system
can't handle sdk_version/min_sdk_version correctly for JNI libs. That's
why sdk_version of JNI libs is enforced to match with min_sdk_version
of APK in this change.

(original commit: 98c4750f39)

Bug: 145796956
Test: m
Change-Id: I08543ccee7dfda0559a1fca108ceb5c28f84943f
2020-05-14 00:19:45 +09:00
Paul Duffin
87a05a389d java_sdk_library: Add sdk_version for API scopes
Allow the sdk_version against which the stubs for a scope are compiled
to be specified in the module on a per scope basis.

Bug: 155164730
Test: m nothing
Change-Id: I5881e5ee7c2169c30f544882344a60a602dae917
2020-05-13 13:09:23 +01:00
Paul Duffin
d52fd68933 java_sdk_library: Add framework-modules naming scheme am: 6c9c5fc4bc am: 35dd087ac2
Change-Id: Icf988bd62716a7870b4583b4f83086dbc8b275de
2020-05-13 08:43:39 +00:00
Paul Duffin
44ab8cad82 java_sdk_library: Remove some almost single use constants am: dd9d0740fa am: 04e787a74a
Change-Id: I1fba19d2f21021a8de3c04badc43e07e8ec6fd34
2020-05-13 08:43:31 +00:00
Paul Duffin
c0bb45605d java_sdk_library: Delegate component module to naming scheme am: 1b1e8069ec am: 4fc05862d6
Change-Id: Id61c950ddb4607691951371c972985e503a020a1
2020-05-13 08:43:28 +00:00
Paul Duffin
29cba10756 java_sdk_library: Extract child module naming to common struct am: c3091c8c19 am: edcb7f889e
Change-Id: Ie7d6bb07746c1fbe77ac42aa7a7b26534e208c61
2020-05-13 08:43:21 +00:00
Paul Duffin
7421be5e53 java_sdk_library: Allow separate api/stubs source modules am: 0ff08bdb07 am: 4f7962e268
Change-Id: I8475dc1ae5cad4d036fa16616daf149941a96d45
2020-05-13 08:43:17 +00:00
Treehugger Robot
8bd96e8c7e Merge "java_sdk_library: Preserve sdk_version: "none" in snapshot" am: fced20c3b4 am: 56730409dd
Change-Id: I8561184ff769a20f44e8c5399ee94c78c731f177
2020-05-13 08:01:16 +00:00
Treehugger Robot
aaf54ecb48 Merge "Enable api_lint in java_sdk_library" am: c0320878e6 am: 3bab3bd9d1
Change-Id: I693e9857ec13ba1e553df6d04f1c0b5d275f1d8b
2020-05-13 08:01:01 +00:00
Paul Duffin
6c9c5fc4bc java_sdk_library: Add framework-modules naming scheme
Matches the naming scheme used by the separate manually created modules
that will be replaced by java_sdk_library's automatically created
components. This will simplify conversion to java_sdk_library as it
will allow developers to concentrate on getting the conversion correct
without also having to worry about name changes. It will also allow the
conversions to be parallelized as many of the references to the
components are in places where conflicts are likely.

Test: m nothing
Bug: 155480189
Change-Id: Ic859a61de155b3e582c17f6ab5e9298f5f4e709a
2020-05-13 08:52:56 +01:00
Paul Duffin
dd9d0740fa java_sdk_library: Remove some almost single use constants
The constants are only used in one place in the code and in the test.
This change switches the test code to use the apiScope methods to
generate the names and then inlines the constants in those methods. It
makes it easier to see the naming convention.

Test: m nothing
Bug: 155480189
Change-Id: I966e82b8ae67624da168e05f5a2b062b832cb8cd
2020-05-13 08:52:56 +01:00
Paul Duffin
1b1e8069ec java_sdk_library: Delegate component module to naming scheme
Adds a naming scheme abstraction to which the java_sdk_library/import
will delegate the task of creating the names of their component
modules. The naming scheme can be selected in a module definition but
for now the only supported option is "default".

Test: m nothing
Bug: 155480189
Change-Id: I708657661188ea4a14a4dd8c6bc4b46237bbe5e0
2020-05-13 08:52:56 +01:00
Paul Duffin
c3091c8c19 java_sdk_library: Extract child module naming to common struct
Extracts the child module naming to the commonToSdkLibraryAndImport
struct so it can be reused by both sdk library source and prebuilt.

Also:
* Makes all child module name generation go through the common struct.
* Renames some of the methods to clarify their purpose and improve
  consistency.

Test: m nothing
Bug: 155480189
Change-Id: I9be9aab07252b491ab292b8847138a93b487cf53
2020-05-13 08:52:56 +01:00
Paul Duffin
0ff08bdb07 java_sdk_library: Allow separate api/stubs source modules
The API file for a scope represents the differences between the API
provided by that scope and that provided by the scope that it extends.
On the other hand the stubs source for a scope represents the union of
the API provided by the scope and the scope it extends (all the way
back to public).

Unfortunately, while metalava supports this behavior for scopes that
extend public (e.g. system and test) it does not support this behavior
for scopes that extend others, e.g. module_lib which extends system.
This is because it always assumes that the baseline for the API file
is 'public' and so has no way to defined other baselines.

This change works around that by having separate droidstubs modules to
generate the API and stubs sources for scopes that require different
arguments to generate the API and stubs sources.

Test: m checkapi
Bug: 155164730
Change-Id: Iea7d59852d7aeb503120acf3c44e08eb0d9d07b9
2020-05-13 08:52:53 +01:00
Treehugger Robot
fced20c3b4 Merge "java_sdk_library: Preserve sdk_version: "none" in snapshot" 2020-05-13 07:36:43 +00:00
Treehugger Robot
c0320878e6 Merge "Enable api_lint in java_sdk_library" 2020-05-13 07:35:15 +00:00
Colin Cross
b85063c64a Merge "Revert "enforce sdk_version for JNI libs for updatable APKs"" am: 2bdf0da9e7 am: 6e55eb8f69
Change-Id: I88b97cb5794aa17ebf11903847e0f57f8517f6ad
2020-05-13 01:55:38 +00:00
Colin Cross
2bdf0da9e7 Merge "Revert "enforce sdk_version for JNI libs for updatable APKs"" 2020-05-13 01:26:25 +00:00
Jooyung Han
cc928d9059 Revert "enforce sdk_version for JNI libs for updatable APKs"
This reverts commit 98c4750f39.

Reason for revert: broken builds

Change-Id: Icd3a9e226ff8ff288b682757cded9f43069ebc5e
2020-05-13 01:22:56 +00:00
Treehugger Robot
58461c4a42 Merge "enforce sdk_version for JNI libs for updatable APKs" am: 1852b586bf am: 548c377bee
Change-Id: Icb9cd88d908d28eebd89d25429b64fc30faf60bb
2020-05-13 01:22:49 +00:00
Treehugger Robot
1852b586bf Merge "enforce sdk_version for JNI libs for updatable APKs" 2020-05-13 00:57:34 +00:00
Paul Duffin
780c5f4715 java_sdk_library: Preserve sdk_version: "none" in snapshot
Test: m nothing
Bug: 156354511
Change-Id: Icf7c20dc109a773430768c1a2d91c674551dbc1b
2020-05-12 15:52:55 +01:00
Treehugger Robot
c6e48b7dad Merge "Add sourcepath to inputs of remoteable metalava action." am: e72da7f63c am: 0452efbd16
Change-Id: Ib78a89ee437500a6f347d0c746bb56fae97e4a15
2020-05-12 04:41:37 +00:00
Treehugger Robot
e72da7f63c Merge "Add sourcepath to inputs of remoteable metalava action." 2020-05-12 04:15:16 +00:00
Ramy Medhat
0a5c8dea01 Add sourcepath to inputs of remoteable metalava action.
Test: presubmit
Change-Id: Idd77abddac0a676302226eb62883c74d5d7489af
2020-05-11 16:49:37 -04:00
Liz Kammer
c083f30dde Merge "Add lineage file to deps for signapk." into rvc-dev am: 12f5ef4005
Change-Id: Ifb5689eab7f291148ab5611b12fe040520ca3037
2020-05-11 19:38:31 +00:00
Anton Hansson
71d2ffd153 Merge "Fix API lint copy command" am: 432f75c61a am: d39d5a6935
Change-Id: I3ee57adeb11e10a8d19977c78703769eaa2e594c
2020-05-11 19:30:42 +00:00
satayev
5849e9512d Merge "Introduce app -deps-info." am: ecea813997 am: 72d9fc732d
Change-Id: Ic0dc82dc5293155d4fe628c0ab03ec9a78e94f1c
2020-05-11 19:30:34 +00:00