summaryrefslogtreecommitdiff
path: root/java/classpath_fragment.go
AgeCommit message (Collapse)Author
2021-07-06Use both module name and stem name to filter updatable boot jarsPaul Duffin
Sometimes the stem property is set to change both the installed file name and the name use to filter the configured module list, e.g. when adding a test library to replace the standard library, e.g. test_foo instead of foo. Sometimes it is used just to change the installed file name. This change uses both to filter the updatable boot jars and not just the stem. Bug: 180105615 Test: m nothing Merged-In: I6c459fc3597b1e4f062bc9a4e52843305b538c5f Change-Id: I6c459fc3597b1e4f062bc9a4e52843305b538c5f (cherry picked from commit 56c93e899a355311463d41e988c9ba511af14278)
2021-05-24Rename generate proto config file to match classpath type.satayev
There is no need to leak soong module names. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: I04f4e181d2f42b9d71641980a2c7c4e8cbc8e426 Merged-In: I04f4e181d2f42b9d71641980a2c7c4e8cbc8e426
2021-05-19Use absolute paths in classpaths.proto.satayev
The intention before was to use relative paths to a partition where a config is defined. However, jars in /system_ext partition are planned to be declared in /system's classpaths.proto config. Bug: 180105615 Test: derive_classpath_test, CtsClasspathsTestCases Change-Id: Icc3e1a903c34187cfcd67a3ae7bc3dd746445c03 Merged-In: Icc3e1a903c34187cfcd67a3ae7bc3dd746445c03 (cherry picked from commit 7d22657c458b7cf7f79cdd3c298bfec13be93533)
2021-05-18Move classpaths.proto related info into a separate provider.satayev
The new info struct can be easily shared with systemserverclasspath fragments. Bug: 180105615 Test: m nothing Merged-In: I9986e64fdf19f4168da63c156de3dc9bcafac8d8 Change-Id: I9986e64fdf19f4168da63c156de3dc9bcafac8d8 (cherry picked from commit 14e49130bbeba7d222c8851e2f59710ac0f6eb71)
2021-05-11Generate empty classpaths.proto for bootclasspath_fragment.go.satayev
- Adds all required details for bootclasspath_fragment to implement classpath_fragment. - Keeps the actual boot jars in platform-bootclasspath to begin with. - Makes sure to put the file in apex/etc/classpath on device. Note that for platform versions of classpath fragment AndroidMkEntries perform the installation, while for APEXes it must be plumbed via apex.go. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: I6101ebdf5b8bcbe95c0b7ce21f3f67a2685aef50
2021-05-07Declare ConfiguredJarList in specific fragment implementations.satayev
Each specific classpath_fragment module knows what jars must be part of the corresponding classpaths.proto config. Note that bootclasspath_fragment does not implement classpath_fragment yet, thus all boot jars and all system server jars go into corresponding platform classpaths. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: I6a8c7b0a5d17d62e790a441b8e2c5c1a816e7f30
2021-05-07Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath.satayev
Boot jars are different to system server jars at build level, due to added complexity of dexpreopt. As a logical separation add a new classpath fragment type and split existing classpaths.proto generation into relevant pieces. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: I88bec09fc920166ffd0092faef980754ddeb6593
2021-05-06Rename classpath_fragment.go methods for better readability.satayev
Bug: 180105615 Test: m nothing Change-Id: Ic663c22e5b7cbab487dc1fe99805e08843c3213d
2021-04-14Generate classpaths.proto config for *CLASSPATH variables.Artur Satayev
Instead of embedding "raw" values from PRODUCT_*_CLASSPATH variables into /etc/classpath, encode them into classpaths.proto binary format. Existing platform_bootclasspath{} module is used to generate the whole monolithic config to begin with. Later, the config will be split among individual bootclasspath_fragment and systemserverclasspath_fragment modules. Bug: 180105615 Test: m && launch_cvd Change-Id: Ia66f521f8976ff78a62ecf91131d26db21064de7
2021-04-13Introduce classpath_fragment.go.Artur Satayev
A skeleton of a classpath fragment's interface and base to be used by any modules that provide entries for *CLASSPATH variables at runtime. In follow up changes, this would be extended to generate packages/modules/SdkExtensions/proto/classpaths.proto configs for such modules to be bundled into system and individual apex binaries. Bug: 180105615 Test: m Change-Id: I2df550862e97222c5650c4d0480c90231fd78ef0