summaryrefslogtreecommitdiff
path: root/java/java_test.go
AgeCommit message (Collapse)Author
2020-09-02Merge "Add compile_dex for java_import"Treehugger Robot
2020-09-01Add compile_dex for java_importLiz Kammer
Test: go java tests Test: m Bug: 160455085 Change-Id: I2db95dfe565e78b630007adc3360a58614d0127e
2020-09-01Revert "Remove create_stubs and checkapi from droiddoc"Steve Kim
This reverts commit 3a55c91f9de31fdb2a7bba2360ddba347c11112e. Reason for revert: build failed. Guess this is the cause but needs to confirm. Creating a revert per instructions Change-Id: I30f1c8cd63e5ab84dba5d21ed354a42695c24ec4
2020-08-31Remove create_stubs and checkapi from droiddocLiz Kammer
Test: m docs Test: go java tests Bug: 144248501 Bug: 143136634 Change-Id: Ic0da89332f3ed2e5e1bb36d00cb9cbd1f6282b45
2020-08-20Use common helper functions for getting sorted map keys.Ulya Trafimovich
Add a new helper SortedIntKeys similar to SortedStringKeys. Test: lunch aosp_cf_x86_phone-userdebug && m Change-Id: I08a43ec2cae7d1a82531295aca1a0658e3a0dd6f
2020-08-19Collect paths to transitive SDK Java library dependencies.Ulya Trafimovich
Previously only the names were collected, and later used in the manifest_fixer to add missing <uses-library> entries to the manifest. Now we also need to collect build-time and on-device paths, to be used in class loader context for dexpreopt. This commit only collects paths, but does not pass them to dexpreopt yet. Test: lunch aosp_cf_x86_phone-userdebug && m Bug: 132357300 Change-Id: I34b229ee68f16ba215ba03770feadb4d890ec2bf
2020-08-04Add property api_levels_jar_filename to droidstubsLiz Kammer
The default is android.jar to maintain current behavior but allows users to specify a different filepath to support generating api-versions for docs other than the platform (e.g. auto). Bug: 162552181 Test: m doc Test: go test java_test Change-Id: I9e51abaf7d5451d68ca782157d9b739f76c5da82
2020-07-31Merge "Default to not creating stubs for droiddoc"Treehugger Robot
2020-07-31Default to not creating stubs for droiddocLiz Kammer
This will allow us to remove `create_stubs: false` throughout the codebase easily, then remove the functionslity to create stubs from droiddoc. Test: m docs Test: m checkapi Test: m updateapi Bug: 144248501 Bug: 143136634 Change-Id: Ib95f68bc064fbe1475e4b25433bee6292bc005dc
2020-07-31Fix prebuilt mutator ordering in testsPaul Duffin
Previously, the prebuilt mutators were added by the cc.RegisterRequiredBuildComponentsForTest() function as a convenience but unfortunately it lead to some of the mutators being in a different order in the tests than in the normal build. This change: * Extracts the RegisterPrebuiltMutators() call from cc.RegisterRequiredBuildComponentsForTest() * Makes sure that the prebuilt mutators are registered before the visibility gatherer and enforcer mutators. Bug: 162505935 Test: m nothing Change-Id: I7d959b558200b502f0a5e4653c41ea01414e142a
2020-07-28Update language to comply with inclusive guidanceLiz Kammer
See https://source.android.com/setup/contribute/respectful-code for reference Bug: 161896447 Test: m nothing Change-Id: I13f42b680c6b819a2708c973e7718267c121f862
2020-07-27Add `data_native_bins` property to java_test_hostLiz Kammer
When multiple os/arch variants are supported, java_test_host could not find a matching arch due to java having arch:common, whereas native binaries support a specific architecture. This change adds the property `data_native_bins` in order to support binaries with the appropriate os/arch variants. Test: m FirmwareDtboVerification with data_native_bins Test: forrest Bug: 153848038 Change-Id: I45adebff0fde2811d5ef5620c697b97b768c951f
2020-07-13Add array type property flags, equivalent to argsLiz Kammer
The property args is currently a string, but represents a collection of arguments to metalava/doclava. This has resulted in variables being used rather than default modules to share arguments. Test: go test java_tests Bug: 145644363 Change-Id: I670235e8f1cf19bfe8909049c4765637d0accd47
2020-07-09Ensure that sdk/module_exports depends on source membersPaul Duffin
Previously, preferring a prebuilt of an sdk/module_exports's member would cause the sdk/module_exports to depend on the prebuilt instead of the source and cause problems with the build. This chance prevents the dependency from an sdk/module_exports to its members from being replaced with prebuilts. Bug: 160785918 Test: m nothing Change-Id: Iee4bcd438c11929e30fb5766701b05a0e89956d9
2020-07-08Restrict replacements of source dependencies with prebuiltsPaul Duffin
Previously, when java_sdk_library_import was preferred over a java_sdk_library the latter ends up depending on the prebuilt child modules created by the java_sdk_library_import instead of the source child modules that it created itself. That was because all dependencies on those source child modules were replaced with the corresponding prebuilt child modules. This change prevents those dependencies from being replaced to preserve the dependencies from java_sdk_library onto its source child modules by making the replacement conditional depending on the tag used. It also updates the affected test. Bug: 159902351 Test: m nothing Change-Id: I4441b901dedfd44b9769df1ac2e248b94834cf85
2020-07-08Stop java_sdk_library_import from depending on source modulesPaul Duffin
Previously, java_sdk_library_import added the dependencies on its child components in the deps mutator after prebuilts without a matching source module are renamed to the source module name. That meant that the java_sdk_library_import has to use the source module name and ended up depending on the source module unless it was preferred. This change adds a new component deps mutator that runs before the PrebuiltRenameMutator so that the java_sdk_library_import can add dependencies onto the prebuilt modules. It also updates an affected test. Bug: 159902351 Test: m nothing Change-Id: I3576c4873302743e51aff547ea1497bef6d748ac
2020-06-29Track the current java_sdk_library(_import) depsPaul Duffin
Adds some tests to track the current dependencies between java_sdk_library, java_sdk_library_import and their child modules in various configurations. This is in preparation for a series of changes that will update the dependencies to ensure that the java_sdk_library always depends on the source modules that it creates and java_sdk_library_import always depends on the prebuilt modules that it creates. Comments in the tests highlight the parts that will be affected by the follow up changes. Bug: 159902351 Test: m nothing Change-Id: I8eea3ac80061f5cbbc9dec201750c4b59e224b4b
2020-06-15Do not override "-g:source,lines" for host java binaries when ↵Alex Humesky
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO is set. Test: Ran unittests Change-Id: Ic061b4bf107bcd931813d69f6d72b521d79fbc35
2020-06-15java_sdk_library: Add system-server scopePaul Duffin
Bug: 155164730 Test: m nothing Merged-In: I49a2dab5c064b05f16691a3fae65f2b4ffc53bfd Change-Id: I49a2dab5c064b05f16691a3fae65f2b4ffc53bfd (cherry picked from commit 5a757b1ebbf52825e032b99ffc9f86474d0a8558)
2020-06-09Remove most paths from java.TestConfigColin Cross
Now that tests don't need to specify every path passed to PathForSource or PathForModuleSrc, remove most of them from java.TestConfig. Leave a few that are globbed by lots of tests, and move a few that are globbed by a single test into the tests. Test: all soong tests Change-Id: Ica91d7203a6a7dbca0fd4fed84c78f149b8699e1
2020-05-28Add default_to_stubs option to java_sdk_libraryJiyong Park
Previously, when a lib that doesn't have sdk_version property set depends on a java_sdk_library, the impl library was used for linking. This might be too permissive because the client lib might be using empty sdk_version because it needed some private APIs from the platform, but not from the java_sdk_library. This actually happend for some of the CTS tests. They don't set sdk_version, but were directly depending on android.test.[base|runner|mock].stubs libraries. If we switch the references to the stub libraries into the corresponding java_sdk_library modules (e.g. aandroid.test.[base|runner|mock]), then we would be allowing private APIs to the CTS tests, which is not good. To solve this problem, default_to_stub property is introduced. It when set to true prevents the impl lib from being used for linking. When a module that doesn't have sdk_version depends on it, the widest API surface that the java_sdk_library provides is linked instead. Bug: 157007292 Test: m Change-Id: Id2acc3cafb71d1e90d4fdc9c0c70a73983355e0f
2020-05-27Add support for Metalava implicit dependencies for remote execution.Ramy Medhat
Test: built aosp crosshatch userdebug with RBE_METALAVA=1 Change-Id: Ic64d98785e34717ef9bdad62b4885085f84f132a
2020-05-26java_sdk_library: Only expose impl jars when they are builtPaul Duffin
The implementation jars are not built if api_only: true. In that case the jar paths must not be exposed implicitly as they will be nil and they will just be ignored. This change ensures that stubs are returned when the implementation jars are not built. Bug: 155164730 Test: m droid Change-Id: Ic495982a5dcb2754916260e7d91d921a5da288ae
2020-05-21java_sdk_library: Control shared library usePaul Duffin
Previously, all java_sdk_library instances were assumed to be usable as shared libraries, i.e. referenced from <uses-library> in Android manifest. However, that was not true for any instances that specified api_only: true and will not be true for many of the new Android modules. One consequence of this assumption is that use of one of the api_only instances could (but fortunately does not appear to) have lead to an invalid library being referenced in an app's manifest which would prevent the app from loading. That would have been done automatically by the implicit sdk library tracking and manifest fixing mechanism and there would have been nothing a developer could have done about it. Changes: 1) Prevents api_only instances from participating in the automatic tracking which will prevent them from being added to Android manifests and breaking apps. 2) Add a new shared_library property that can have the same effect as api_only while still creating a runtime implementation library. 3) Renamed commonProperties to commonSdkLibraryProperties to disambiguate it from the ModuleBase.commonProperties field. 4) Extracts requiresRuntimeImplementationLibrary() to remove duplicate code accessing the Api_only property. 5) Tests for the api_only and shared_library behaviours. Test: m nothing - added tests, tests broke, fixed code, tests passed. Bug: 156723295 Change-Id: Iccf509e808d5ff53522188541a4c54d8f9ada93c
2020-05-21Improve tracking of exported sdk librariesPaul Duffin
The build tracks the java_sdk_library/_import modules that are referenced by libraries so that it can ensure that any Android app that includes code that depends on one of those modules has the appropriate <uses-library> entry in their manifest. Unfortunately, there were a couple of issues with that: 1) It only tracks direct references to the java_sdk_library module itself, e.g. android.test.mock. Direct references to the stubs module, e.g. android.test.mock.stubs were not tracked. Making it possible for Android apps to reference libraries which would not be available at runtime. 2) The logic for determining whether something was a java_sdk_library was repeated in a number of places making it difficult to allow java_sdk_library/_import instances to determine whether they should be treated as an Android shared library. 3) It tracks (and could use) even those java_sdk_library instances which do not represent a shared library, e.g. the ones that set api_only: true. While this change will simplifty fixing that the actual issue will be fixed in a follow up change. Changes: * Added EmbeddableSdkLibraryComponent and embedded it into java_sdk_library/_import, java_library and java_import. It provides the common code to minimize duplication. It contains an SdkLibraryToImplicitlyTrack field that if set will cause any references to the containing module to add the SdkLibraryParent to the list of implicit sdk libraries being tracked. * Changed code that assumed that anything that implemented SdkLibraryDependency required tracking to use the OptionalImplicitSdkLibrary() method to get the optional name of the sdk library to track. That will allow a follow up change to return nil from that method to exclude an sdk library from being tracked. * Moved SdkLibraryDependency from java.go to sdk_library.go as that is a better place for it to be. * Changed the stubs java_library/java_import creation code to initialize the SdkLibraryToImplicitlyTrack field with the name of the creating module. * Initialized the SdkLibraryToImplicitlyTrack field in the java_sdk_library/_import so that direct references to them will be tracked too. * Added tests to verify that direct access to the .stubs child of both java_sdk_library and java_sdk_library_import are tracked properly. Test: atest CtsProviderTestCases - which relies on android.test.mock being implicitly tracked to verify that I had not broken anything. Used aapt2 dump badging to read the manifest. m nothing - to run the new tests which failed before fixing the code. Bug: 156723295 Change-Id: Ia99def91e9b74d2ed0a777de04b476c00ea0393d
2020-05-20java_sdk_library: Access outputs using tagsPaul Duffin
Previously, in order to access say the public stubs source jar it was necessary to directly reference the module by name. This change adds support for accessing them indirectly via tags. Test: nothing Bug: 155164730 Change-Id: Id6d76e56c7b46944b2d2a44a2163fb05a5b03de9
2020-05-20java_sdk_library: Improve consistency with ..._importPaul Duffin
The scopePaths struct is used by both java_sdk_library and its prebuilt but was not populated in the same way. This change addresses those discrepancies in preparation for a follow up change which will allow access to some of those fields through OutputFileProvider. Changes: * Document the scopePaths field and struct. * Switch those fields that may not be fully populated from Paths to OptionalPath to make that 100% clear and protect against unchecked use. * Switch java_sdk_library_import to use the dependency extraction mechanism driven by the dependency tag. This should actually have been part of the change that added that mechanism. * Only create prebuilt_stubs_sources if sources have been provided. * Add dependencies from java_sdk_library_import on its stubs source child modules if sources have been provided. That will ensure the stubsSrcJar field is updated. * Updates current/removedApiFilePath if provided for the scope in java_sdk_library_import. * Extracts ApiStubsSrcProvider from ApiStubsProvider to allow it to be implemented by PrebuiltStubsSources so that it can provide access to the stubs src jar that it creates. Test: m nothing Bug: 148080325 Bug: 155164730 Change-Id: Ic5bf884b2b1e79841843e7c3b4642796ecd49f5d
2020-05-20java_sdk_library: Add redirection to module-lib stubsPaul Duffin
Previously, when using sdk_version: "module_current" any direct reference to an sdk library would use the public not module-lib stubs. This change corrects that. Prior to the addition of the module-lib api scope almost all java_sdk_library instances supported all the scopes to which a request for jars could be redirected, i.e. public, system and test. The exceptions to that are a few special instances that were used with sdk_version: "none" and so were either caught by the java_sdk_library special cases or dropped through to public. The addition of module-lib, plus the flexible control over which scopes are generated means that is no longer true. It is possible for a java_sdk_library to be requested for a scope it does not have which would have resulted in an empty set of paths being returned leading to confusing compilation errors. To avoid that this change also adds support for using the inheritance hierarchy defined by the apiScope.extends field to fall back to the closest available surface. Test: m nothing Bug: 155164730 Change-Id: I6aab75a772433ee0a36b6f1758a4aec4be2f9a49
2020-05-13java_sdk_library: Add sdk_version for API scopesPaul Duffin
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-13java_sdk_library: Remove some almost single use constantsPaul Duffin
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-08java_sdk_library: Control API surfaces generatedPaul Duffin
Adds a per scope set of properties that allows explicit control over the API surfaces generated. Previously, the term active was used to determine whether it was generated but that was a little abstract and unclear so has been replaced by generated. Test: m nothing Bug: 155164730 Change-Id: I7539d89618b61f6b9d1a4b60cc3f9614b157f0d9
2020-03-24add aidl.export_include_dirs to java_import module typeJiyong Park
This allows a java prebuilt to export AIDL files to its clients. Bug: 151933053 Test: m Change-Id: I21b5d5ce647141a7c76f62490adbccb858b10323
2020-02-19Move NDK test modules into cc/testing.goColin Cross
Move the NDK modules defined in app_test.go into cc/testing.go in preparation for using sdk_version: "current" in more tests. Test: all soong tests Change-Id: I80bc31225fb4562fce42781219cefbbd6affae06
2020-02-19Merge "Permissions XML file for java_sdk_library is mutated for APEX"Jiyong Park
2020-02-19Allow java_system_modules_import to replace java_system_modulesPaul Duffin
Previously, there were some places where a java_system_module_import could not be used in place of a java_system_module. That was because the code assumed a *SystemModules type not a *systemModulesImport type. This change introduces a SystemModulesProvider interface that is used instead and is implemented on both types. Bug: 142940300 Test: m nothing ran new tests before changes to make sure they detected the issue and after to make sure the changes fixed the issue. Change-Id: I7b16ac5708880bdf61e6f5b1e6616c986f0ed763
2020-02-19Permissions XML file for java_sdk_library is mutated for APEXJiyong Park
This change fixes a regression that was introduced with I597bccbb177b6b6320c3a3edeff467243230d384. With the change, the content of the permissions XML file for a java_sdk_library was determined before the java_sdk_library is mutated for an APEX. As a result, the file path to the implementation jar library was always set to /system/framework/*.jar regardless of whether the java_sdk_library is part of an APEX or not. This change fixes the problem, by creating the permissions XML file via a new module type. The content of the xml file is determined after the xml file is mutated for APEXes. Bug: 149600642 Test: m Change-Id: Id21f8d8285df49b0b3be1daf0f101f2bc978eeb0
2020-02-13Reland: Get the dex2oat host tool path from module dependency on theMartin Stjernholm
binary module. This uses the Once cache for GlobalSoongConfig to propagate the dex2oat path from a module dependency to the singletons (both the one that writes out dexpreopt_soong.config and the one that creates the dexpreopted boot images). Unless dexpreopting is disabled altogether through DisablePreopt in dexpreopt.config, that means: - We must ensure at least one module registers a dex2oat tool dependency and resolves a GlobalSoongConfig using it, or else the singletons fail. That means we litter dex2oat dependencies in java modules even when they won't get dexpreopted and hence don't really need them. - We still assume there's at least one java_library or android_app in the build. This relands https://r.android.com/1205730 without changes - the necessary fixes are in the child CLs. Bug: 145934348 Test: m (check that out/soong/dexpreopt_soong.config points to dex2oatd64) Test: env USE_DEX2OAT_DEBUG=false m (check that out/soong/dexpreopt_soong.config points to dex2oat64) Test: env OUT_DIR=out-tools prebuilts/build-tools/build-prebuilts.sh on the aosp-build-tools branch Change-Id: I66661711b317d1e4ec434861982919bdde19b575
2020-02-13Reland: Move the Once cache for dexpreopt.GlobalConfig into theMartin Stjernholm
dexpreopt package. Preparation for a future CL that will need to get the make-written GlobalConfig from within dexpreopt. Also rename the Load*Config functions to Parse*Config, since they don't actually load the config files anymore. This relands https://r.android.com/1211982. Bug: 145934348 Test: m Change-Id: Icb9332a93811d77d2d8b06e983b92501b180a358
2020-02-13Reland: Separate dexpreopt.GlobalSoongConfig to allow independentMartin Stjernholm
caching of it. Introduce a Once cache for GlobalSoongConfig to allow it to get binary tool paths from ordinary module dependencies (coming in a future CL) that are then reused in singletons. This relands https://r.android.com/1205729. Bug: 145934348 Test: m Change-Id: I039d6e204bee5ddc16d8e2d85057fbec20e326fe
2020-02-11java_sdk_library - replace .docs suffix with .stubs.sourcePaul Duffin
Previously, the .docs suffix was used for droidstubs internal modules that generate the stubs source. The name was confusing so this change replaces the suffix with .stubs.source to clarify the purpose of those modules. Bug: 148080325 Test: m droid Change-Id: I9d7a2ab19e4a331b515408912ac8f7e8b0e1b35d
2020-02-04java_sdk_library use prebuilt jars for numeric sdk_versionPaul Duffin
Previously, when a library that used a numeric sdk version also referenced a java_sdk_library it would use the current version of its API. That was dangerous as there is an expectation that an app building against a numbered version will also be targeted at that version and so building against a later version of the API could hide runtime incompatibilities. This change will use prebuilt versions of the java_sdk_library's api when being built for a numbered sdk version. Bug: 148080325 Test: m droid Change-Id: I3fd416553950785a443c1702e495a96debc33331
2020-02-03Remove legacy properties from java_sdk_library_importPaul Duffin
The legacy usages have all been updated so the legacy properties can be safely removed. The Libs property is kept so it can be used to specify properties common to all scopes. Bug: 148080325 Test: m droid TARGET_BUILD_APPS=Camera2 m Change-Id: I252ebbedbb463db3c7346e86d86b5880eea76fe9
2020-02-03java_sdk_library_import - expose system and test stubsPaul Duffin
Previously, the java_sdk_library_import only exposed the public stubs. This change adds support for exposing system and test stubs too by adding separate structures for public, system and test scopes. The existing properties are kept for legacy reasons (and because libs can be common across the differents scopes). It extracts some code that is common to both sdk library and sdk library import. The legacy support will be removed in a future change once all existing usages have been switched over. Bug: 148080325 Test: m droid TARGET_BUILD_APPS=Camera2 m Change-Id: I0b26cc8af9ee044437ff3b80c1eca611816b9386
2020-01-31Improve java_sdk_library handling of test_currentPaul Duffin
When building a library against sdk_version: system_current it uses the system stubs of any java_sdk_library that it references. Previously, when building against sdk_version: test_current this used the public stubs of any java_sdk_library. This change causes it to use the test stubs instead to be consistent with the handling of system and public. Bug: 148080325 Test: updated the test ran m nothing which failed as expected fixed the code ran m nothing again which succeeded Change-Id: I58ec5bd243701c5a5c75664e2bb615ce7b2f2441
2020-01-27Revert "Separate dexpreopt.GlobalSoongConfig to allow independen..."Hans Boehm
Revert submission 1211982-dex2oat-soong-dep Reason for revert: Build failures. See b/148312086. Reverted Changes: Ibc427a9a8: Make dex2oat(d) visible for use as implicit dexpre... I71df11c1e: Move the Once cache for dexpreopt.GlobalConfig int... I38317f2d5: Get the dex2oat host tool path from module depende... I440a09dba: Separate dexpreopt.GlobalSoongConfig to allow inde... Bug: 148312086 Bug: 145934348 Exempt-From-Owner-Approval: Plain revert Change-Id: Ice3990225635a737e49e9aed7373f06516fccea3
2020-01-27Revert "Move the Once cache for dexpreopt.GlobalConfig into the ..."Hans Boehm
Revert submission 1211982-dex2oat-soong-dep Reason for revert: Build failures. See b/148312086. Reverted Changes: Ibc427a9a8: Make dex2oat(d) visible for use as implicit dexpre... I71df11c1e: Move the Once cache for dexpreopt.GlobalConfig int... I38317f2d5: Get the dex2oat host tool path from module depende... I440a09dba: Separate dexpreopt.GlobalSoongConfig to allow inde... Bug: 148312086 Bug: 145934348 Exempt-From-Owner-Approval: Plain revert Change-Id: I6b656afb5feaad70d958b9d38b6c6eab7b03fba1
2020-01-27Revert "Get the dex2oat host tool path from module dependency on..."Hans Boehm
Revert submission 1211982-dex2oat-soong-dep Reason for revert: Build failures. See b/148312086. Reverted Changes: Ibc427a9a8: Make dex2oat(d) visible for use as implicit dexpre... I71df11c1e: Move the Once cache for dexpreopt.GlobalConfig int... I38317f2d5: Get the dex2oat host tool path from module depende... I440a09dba: Separate dexpreopt.GlobalSoongConfig to allow inde... Bug: 148312086 Bug: 145934348 Exempt-From-Owner-Approval: Plain revert Change-Id: I0cf6fef04434fd3c0b7957ee9abdcaabeb20b9d8
2020-01-24Get the dex2oat host tool path from module dependency on the binaryMartin Stjernholm
module. This uses the Once cache for GlobalSoongConfig to propagate the dex2oat path from a module dependency to the singletons (both the one that writes out dexpreopt_soong.config and the one that creates the dexpreopted boot images). Unless dexpreopting is disabled altogether through DisablePreopt in dexpreopt.config, that means: - We must ensure at least one module registers a dex2oat tool dependency and resolves a GlobalSoongConfig using it, or else the singletons fail. That means we litter dex2oat dependencies in java modules even when they won't get dexpreopted and hence don't really need them. - We still assume there's at least one java_library or android_app in the build. Bug: 145934348 Test: m (check that out/soong/dexpreopt_soong.config points to dex2oatd64) Test: env USE_DEX2OAT_DEBUG=false m (check that out/soong/dexpreopt_soong.config points to dex2oat) Test: env OUT_DIR=out-tools prebuilts/build-tools/build-prebuilts.sh on the aosp-build-tools branch Change-Id: I38317f2d5e5cf6822f87daae25745767c8a3656c
2020-01-24Move the Once cache for dexpreopt.GlobalConfig into the dexpreoptMartin Stjernholm
package. Preparation for a future CL that will need to get the make-written GlobalConfig from within dexpreopt. Also rename the Load*Config functions to Parse*Config, since they don't actually load the config files anymore. Bug: 145934348 Test: m Change-Id: I71df11c1e042ca8135d273a7263e9539ea3cd68f
2020-01-24Separate dexpreopt.GlobalSoongConfig to allow independent caching ofMartin Stjernholm
it. Introduce a Once cache for GlobalSoongConfig to allow it to get binary tool paths from ordinary module dependencies (coming in a future CL) that are then reused in singletons. Bug: 145934348 Test: m Change-Id: I440a09dba7d337965a196527566b0966a18e3653