Update art sdk/module_exports to support conscrypt

Provides the prebuilts necessary for conscrypt to build against a
snapshot of the art sdk/module_exports.

Some of the exported modules should not actually be exported as they
are internal implementation details of other exported modules which is
not something that the sdk/module_exports currently supports. Bug#
155372760 tracks the follow up work to remove those.

Tested as follows:

Built art sdk and module_exports using:
  m art-module-sdk art-module-host-exports art-module-test-exports

Then in separate work tree with limited manifest the 3 snapshots were
unpacked using the following (where SDK_BUILD_TOP is the path to the
work tree where the art sdk and module_exports were built). It has to
unpack the zips in the same directory, rename each Android.bp to
a unique name and then generated an Android.bp that includes those.
This is to work around an issue with visibility where one snapshot
references prebuilts provided by another snapshot which are not visible
to it.

  SDK_BUILD_TOP=/home/paulduffin/android/aosp/master
  rm -fr art-module &&
    mkdir -p art-module &&
    unzip -d art-module /usr/local/google${SDK_BUILD_TOP}/out/soong/.intermediates/art/build/sdk/art-module-sdk/common_os/art-module-sdk-current.zip &&
    mv art-module/Android.bp art-module/sdk.bp &&
    unzip -d art-module /usr/local/google${SDK_BUILD_TOP}/out/soong/.intermediates/art/build/sdk/art-module-test-exports/common_os/art-module-test-exports-current.zip &&
    mv art-module/Android.bp art-module/test.bp &&
    unzip -d art-module /usr/local/google${SDK_BUILD_TOP}/out/soong/.intermediates/art/build/sdk/art-module-host-exports/common_os/art-module-host-exports-current.zip &&
    mv art-module/Android.bp art-module/host.bp && echo "build = [\"sdk.bp\",\"test.bp\",\"host.bp\"]" > art-module/Android.bp

Once the snapshots have been unpacked then all targets under
external/conscrypt were built with the following:
  ALLOW_MISSING_DEPENDENCIES=true mmm external/conscrypt/

ALLOW_MISSING_DEPENDENCIES=true is needed because there are many
repositories that contain dependencies needed by conscrypt but which
also depend on things that need conscrypt, e.g. frameworks/base.

Bug: 142935992
Bug: 155372760
Test: m art-module-sdk art-module-host-exports art-module-test-exports
      As above
Change-Id: I8ce735ab6890a341a4deda7dcc027eca3c149d2b
1 file changed