summaryrefslogtreecommitdiff
path: root/java/java.go
AgeCommit message (Collapse)Author
2021-08-04Merge SP1A.210803.001Scott Lobdell
Change-Id: Ia3abf30c22f1b40f53fb4ffba670c8015413b1c0
2021-07-27Merge SP1A.210723.002Scott Lobdell
Change-Id: Ia2488cb5d7919def03c366d3009fbf2ddc2e26c3
2021-07-23Merge SP1A.210715.002Scott Lobdell
Change-Id: Ia181a44eac8483258ec9c0ec84b3eb5f3c3b255d
2021-07-23Build updatable-bcp-packages.txt from prebuilts in sdk snapshotPaul Duffin
Previously, the java_import and java_sdk_library_import modules did not make their permitted_packages available to the rule that generates the updatable-bcp-packages.txt file. This change corrects that. Bug: 193095050 Test: m nothing - Added unit tests, which all failed and then fixed the tests. Merged-In: If0706e4551a331b48d383123088e63924dded48b Change-Id: If0706e4551a331b48d383123088e63924dded48b (cherry picked from commit 630b11e9d4d63e5fabaa20adf5d1b1c81ede6681)
2021-07-15Propagate permitted packages to sdk snapshotPaul Duffin
Previously, permitted_packages were not copied to the sdk snapshot. This change corrects that. Bug: 193763688 Test: m nothing - Added unit tests, which all failed and then fixed the tests. Merged-In: I4560987f746f78c0ae706058195b6db4bea438aa Change-Id: I4560987f746f78c0ae706058195b6db4bea438aa (cherry picked from commit 869de147abdb2c86a91cced4fda7d27746c52af4)
2021-07-15SdkLibraryImport's DexJarInstallPath uses installPath from source moduleJeongik Cha
Even though actual installed module path is the same as source module, it uses impl's one. Bug: 188179858 Bug: 193082464 Test: compare dexpreopt_config.zip files from 1. TARGET_BUILD_UNBUNDLED_IMAGE=true m dexpreopt_config_zip 2. m dexpreopt_config_zip (note that m clean should run between steps) Test: build aosp_cf_x86_64_phone, launch_cvd, and then adb wait-for-device \ && adb root \ && adb logcat \ | grep -E 'ClassLoaderContext [a-z ]+ mismatch' -C 1 and then check if there is no message. Change-Id: I34ffd9a2d214a6614c2befc35b2beec003cfcd25 (cherry picked from commit d5fe8782e089ec1539a133f270aa62f5d3ead61a)
2021-07-02Do not allow duplicate deapexer dependencies.Martin Stjernholm
Without these errors, the last encountered deapexer would silently be used, and we wouldn't know if it was taken from the prebuilt APEX that actually get installed in the system image. With this error check there may be only one enabled prebuilt_apex or apex_set for each apex_name (which defaults to the module name). E.g. if there are both prebuilt com.android.foo and com.google.android.foo, it is necessary to disable one of them in the .bp file. Merged-In is set from https://r.android.com/1745454, a change that has gone into AOSP and internal master, as well as sc-dev-plus-aosp, but specifically not sc-dev. This change cannot merge into sc-dev-plus-aosp and others, because they may or may not have the com.google.android.art prebuilt APEX present depending on manifest, and with this check exactly one of com.android.art and com.google.android.art prebuilts has to be present and enabled. It'll be cherry-picked to AOSP along with a full fix for b/192006406, when it can be safely enabled everywhere. Test: m nothing SOONG_CONFIG_art_module_source_build=false Test: m nothing SOONG_CONFIG_art_module_source_build=true Test: m nothing with enabled:true for the com.android.art prebuilt APEX - check that it fails with an "ambiguous duplicate deapexer" error Bug: 192006406 Bug: 192542393 Change-Id: I44566fd26b12f82a8a67fe4a69e56303460756d0 Merged-In: Id2410b4e38a78ec2146a42298840954381a7c472
2021-06-23Add commonSdkLibraryAndImportModule interfacePaul Duffin
The commonSdkLibraryAndImportModule defines the methods that a module which embeds the commonToSdkLibraryAndImport struct need to provide. Bug: 179354495 Test: m nothing Merged-In: I7a469ae03ea5c19922200284da08a9ae38a46751 Change-Id: I7a469ae03ea5c19922200284da08a9ae38a46751 (cherry picked from commit 71b33cca9d3a589badc714063e47a28b94df31a1)
2021-06-21Simplify deapexer supportPaul Duffin
Uses the apex relative path to the file as the identifier that is used to obtain the path to the corresponding file extracted from the apex. That is instead of a special constructed string id. Bug: 177892522 Test: m nothing Merged-In: I5dc77c8fb272bac289b8891d1eac801e541af1f5 Change-Id: I5dc77c8fb272bac289b8891d1eac801e541af1f5 (cherry picked from commit b4bbf2ca10cc8509e3ae0ab104e9e3b55861831b)
2021-06-21Remove javalib special case in createDeapexerModuleIfNeededPaul Duffin
Removes the special case in createDeapexerModuleIfNeeded for handling java libraries and just get the Import and SdkLibraryImport module types to implement RequiredFilesFromPrebuiltApex instead. Bug: 177892522 Test: m nothing Merged-In: I5cc341b5b4168b8eb196f72273a00d498de6856f Change-Id: I5cc341b5b4168b8eb196f72273a00d498de6856f (cherry picked from commit fef5500a766d1f515ff19038e8e0e8f606e07287)
2021-05-20Don't fail if the target module is disabled in dex2oat toolMartin Stjernholm
dependencies. dexpreopt.RegisterToolDeps runs late after prebuilt dependencies have been resolved, and there's special code in dex2oatPathFromDep to resolve the prebuilt from the source module. However, if the source module is disabled then the dependencies check in validateAndroidModule will complain, so we need to disable that check in this particular situation. Also add a comment to explain why dexpreopt.RegisterToolDeps needs to run so late. Cherry-picked from https://r.android.com/1711292. Test: m nothing Bug: 145934348 Bug: 172480615 Change-Id: Ibc673303d0336768fa23261a2068e91a08f46a30 Merged-In: Ibc673303d0336768fa23261a2068e91a08f46a30
2021-05-18Make uncompressDex available for use through hiddenAPIModulePaul Duffin
In order for the bootclasspath_fragment to perform dex encoding on its contents it needs to know whether the dex file is uncompressed or not. This change makes that information available by passing it to initHiddenAPI, storing it in hiddenAPI struct and providing access through the hiddenAPIModule. Bug: 179354495 Test: m droid Merged-In: I913416b4836766de194203fd8ed5124b61dfa3dd Change-Id: I913416b4836766de194203fd8ed5124b61dfa3dd (cherry picked from commit 1bbd0626f2d83036b4e1225cc51edfea5e4055b7)
2021-05-18Merge initHiddenAPI and hiddenAPIUpdatePathsPaul Duffin
These two methods did very similar jobs and merging them together simplifies the behavior. Bug: 179354495 Test: m droid Merged-In: Ibe1a23d54105e6a0e5693079cd8743679301fc85 Change-Id: Ibe1a23d54105e6a0e5693079cd8743679301fc85 (cherry picked from commit 74d18d1d6ff1ad8ec47c34182d1a22945e05e9d5)
2021-05-18Remove configurationName from java library and hidden APIPaul Duffin
The configurationName was intended to separate the name of the module from the name used in configuration (such as BootJars) so that the child implementation library of a java_sdk_library on the bootclasspath would have hidden API encoding performed on it just as for the main java_library embedded within the java_sdk_library. While that did use to work it no longer does as the test added in the preceding change proves. It is not surprising that this regression does not appear to have caused any issues as the the child implementation library is only a build time artifact and not used at runtime. In future the only modules that will require hidden API encoding are those that are part of a bootclasspath module so there is no point in maintaining this capability. Bug: 179354495 Test: m droid Merged-In: Ief8136fa9e98600cdd8d36108ec22edc2ebd7c69 Change-Id: Ief8136fa9e98600cdd8d36108ec22edc2ebd7c69 (cherry picked from commit 66cdbf07ef2af6caf42e2c7b77b1a5fb86a4cee3)
2021-05-14Stop generating unnecessary hidden API rulesPaul Duffin
The rules to extract hidden API information from an individual module in order to create module specific files are no longer necessary as the monolithic files are created directly from the module's class jars and not the module specific files. Bug: 179354495 Test: verified that the monolithic out/soong/hiddenapi/... files are unchanged by this change Change-Id: I573ac17f3ea5da5a2a7e4f08718160dacca71c0c
2021-05-10Strict updatability linting against dependencies.Jaewoong Jung
Propagate strict_updatability_linting to transitive dependencies using a top-down mutator. Test: lint_test.go Bug: 182349282 Change-Id: Ifc9e58f1a597e3c7725ee49b4027afb6f42f45cb
2021-05-07Merge "Add missing calls to InitSdkAwareModule"Paul Duffin
2021-05-06Transitively add APEX variants for contents of prebuilt_apex/apex_setPaul Duffin
This is part of the work needed to allow the exported_java_libs property to be replaced by exported_bootclasspath_fragments. Bug: 187266082 Test: m nothing m SOONG_CONFIG_art_module_source_build=false nothing Change-Id: I2c1d70a390200b93163f9799719290c9d55a041c
2021-05-06Add missing calls to InitSdkAwareModulePaul Duffin
A follow up change will add methods to SdkBase which requires its module field to have been initialized. Bug: 181569894 Test: m nothing Change-Id: I9b02f260ad3f82316cc7ab3b5717b7e81090b0d8
2021-04-26Extract java SdkMemberType instances as varsPaul Duffin
This will allow them to be used from elsewhere in a follow up change. Bug: 177892522 Test: m nothing Change-Id: I60e94e148af5b1810aea7f724cba090b49ae758e
2021-04-19Reland: Add jni_libs property to java testsColin Cross
Add jni_libs property to java tests and treat it as test data that should be copied to the lib or lib64 directory in the test directory. This relands I3a118b933ab30dcd731c6dc2708da9bc63ab5520 with fixes for the test on mac. Fixes: 176593487 Test: java_test.go Change-Id: I2f8c46643cff7a7ae6dc4d4dbad58f0396e45f09
2021-04-17Merge "Revert "Add jni_libs property to java tests""Colin Cross
2021-04-17Revert "Add jni_libs property to java tests"Colin Cross
This reverts commit 246164a055a529e081a7690cc9043b496757a30c. Reason for revert: broke the mac build Bug: 176593487 Change-Id: Id0242e37aa40d84d291bf7b8ee46dfe98c4d5905
2021-04-17Merge changes from topic "tvts-test-host-jni"Treehugger Robot
* changes: Add jni_libs property to java tests Add Target to cc.SharedLibraryInfo
2021-04-16Add jni_libs property to java testsColin Cross
Add jni_libs property to java tests and treat it as test data that should be copied to the lib or lib64 directory in the test directory. Fixes: 176593487 Test: java_test.go Change-Id: I3a118b933ab30dcd731c6dc2708da9bc63ab5520
2021-04-08SdkSpec is fully using ApiLevelJiyong Park
Previously, SdkSpec was constructed only from the user string. It didn't make use of the Config struct where information about the latest stable SDK version, etc. is recorded. As a result, the build system couldn't check if the sdk version "current" is referring to the in-development (i.e. not-yet-frozen) SDK version or the latest stable version. "current" was always assumed to be in-development (IsPreview() returns true) even when Platform_sdk_final == true. As the first step for fixing that, this change requires android.EarlyModuleContext to be passed when constructing SdkSpec from the user string. In the following changes, "current" will be mapped to either FutureApiLevel (10000) or one of the FinalApiLevels() depending on whether the platform SDK was finalized or not. Bug: 175678607 Test: m Change-Id: Ifea12ebf147ecccf12e7266dd382819806571543
2021-04-05SdkSpec = Scope + ApiLevelJiyong Park
SdkSpec.Version was an int type. Now it becomes ApiLevel type which is a better abstraction of the version (or api level). Bug: 1655587 Test: m Change-Id: I4d67b9b9eae45f653b6af4f5b73da9e091b3dfab
2021-04-03Move java.sdkSpec to the android packageJiyong Park
... in preparation for making the handling of sdk versions consistent across java and cc modules. Bug: 175678607 Test: m Change-Id: I598f0454bce9b7320621022115412fbe97403945
2021-04-02Merge "Revert "Revert "Add min_sdk_version to java_import."""Jaewoong Jung
2021-04-02Revert "Revert "Add min_sdk_version to java_import.""Jaewoong Jung
This reverts commit 5ab650800820efec13d2e36d0ae25a4e4240ac00. Reason for revert: Resubmitting Ie255f74d40432f4bdd0092d618705a7d17235e58 after fixing the broken targets. Bug: 183695497 Test: https://android-build.googleplex.com/builds/forrest/run/L58600000849810513 Change-Id: I5f072f396002ca3a45bd530ad9be987efa732833
2021-04-02Merge "Remove tradefed static_lib heuristic"Julien Desprez
2021-04-02Merge "Revert "Add min_sdk_version to java_import.""Jaewoong Jung
2021-04-02Revert "Add min_sdk_version to java_import."Jaewoong Jung
This reverts commit 6d15d635569d420035e924c12a08091f0e9c579d. Reason for revert: Broke git_sc-mainline-prod on test_suites_x86_64 Fixes: 184305592 Change-Id: I4b2e2675e0dd9e2e84966f545a52f45d5b731bab
2021-04-01Merge "Add min_sdk_version to java_import."Jaewoong Jung
2021-03-31Add min_sdk_version to java_import.Jaewoong Jung
Fixes: 183695497 Test: apex_test.go Change-Id: Ie255f74d40432f4bdd0092d618705a7d17235e58
2021-03-31Remove unused java testing methodsPaul Duffin
Also, stops exporting methods that are no longer used outside the java package. Bug: 181070625 Test: m nothing Change-Id: I23d35bbc21f82f2dae802aa53badda4c58b41024
2021-03-19Take Module implementations out of java/java.go.Jaewoong Jung
Test: TreeHugger Change-Id: I5c39915ad2cadf5981c201a2b412916524d4c3e2
2021-03-17Merge "Export a few utility methods"Yuexi Ma
2021-03-16Export a few utility methodsYuexi Ma
Add a few utility methods to support generating TradeFed test plan in C-Suite Test: go test . Change-Id: I86a505068b5d5aa0f5a37b3e3a2465839a7480ef
2021-03-15Improve java.go readability.Jaewoong Jung
Test: TreeHugger Change-Id: I98bb7bddb740451ff2ccd28dcdaddff27e35a8cd
2021-03-15Remove tradefed static_lib heuristicJulien Desprez
Test: presubmit Bug: 180736967 Change-Id: I98b675dec086122e821caae9a9add8758d252724
2021-03-15Merge "Treat core_platform as stable unless module uses legacy"Nicolas Geoffray
2021-03-12Merge "Delete defaultsFactory in java.go."Jaewoong Jung
2021-03-12Remove the robolectric heuristic out of java_testJulien Desprez
Test: presubmit Bug: 180736967 Change-Id: I65193d1639088149d8c2f1d5b7d4311e9f69a609
2021-03-10Delete defaultsFactory in java.go.Jaewoong Jung
The factory function became obsolete a long time ago. The module description text will be correctly extracted with this change. Test: TreeHugger Change-Id: If4eb936d34e5a71e6f298f53827a887f34af7cae
2021-03-10Treat core_platform as stable unless module uses legacyPaul Duffin
The sdk_version: "core_platform" refers to the stable core platform unless the module is in the exception list. This change makes sure that CheckStableSdkVersion() reflects that behavior. Bug: 180399951 Test: m nothing Change-Id: Ia0b1e13322352b87f5a3c6621e37f23ba637ffb6
2021-03-06Merge "Revert "Revert "Attempt to run all java_test_host that look unit...""Julien Desprez
2021-03-05Revert "Revert "Attempt to run all java_test_host that look unit..."Julien Desprez
Revert reland the change after tests have been fixed Reason for revert: relanding after fixes Reverted Changes: I89fbce4d7:Revert "Exclude some tests for java_test_host onbo... Iaa89f9b7e:Revert "Attempt to run all java_test_host that loo... Change-Id: Idaa80b2d5a8d3ba026e33b453bd163a4e2d31118
2021-03-05Clear remains of java.Dependency interface.Jaewoong Jung
Test: TreeHugger Change-Id: If9dab2022a308b776d7ad760a61f0db97509b9b2
2021-03-04Merge "Revert "Attempt to run all java_test_host that look unit tests""Julien Desprez