aboutsummaryrefslogtreecommitdiff
path: root/java/classpath_fragment.go
Commit message (Collapse)AuthorAgeFilesLines
* Rename UpdatableBootJars to ApexBootJars.satayev2021-07-221-3/+3
| | | | | | | | | | | Note that ART apex boot jars and core-icu4j are exceptions here as they are not part of ApexBootJars. ART apex boot jars are defined in their own variable, while core-icu4j is treated as a regular non-updatable boot jar. Bug: 191127295 Test: atest CtsClasspathsTestCases Change-Id: I3cea3d82ef521655a1a5ffa8cae2258ab9d08bfc
* Use both module name and stem name to filter updatable boot jarsPaul Duffin2021-06-291-0/+23
| | | | | | | | | | | | | | | | 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 Change-Id: I6c459fc3597b1e4f062bc9a4e52843305b538c5f
* Append platform classpath proto configs with missing apex jars.satayev2021-06-221-1/+5
| | | | | | | | | | Any apex classpath fragment that doesn't generate its own classpaths proto, must still propagate it's boot jars for the platform classpath fragment to include for complete CLASSPATH variables on device. Bug: 191127295 Test: atest CtsClasspathsTestCases derive_classpath_test Change-Id: I93687f69006741fcd66eb6e04891a4b4bbcc3b47
* Add classpath fragment property to skip proto generation.satayev2021-06-171-16/+29
| | | | | | | | | | | | This must always be true for updatable apexes, but is not necessary for non-updatable apexes like com.android.i18n. In a follow up this will be used to figure out whether apex boot jars should be bundled into platform_bootclasspath. Bug: 191127295 Test: atest CtsClasspathsTestCases derive_classpath_test Change-Id: Ib7dc5b057cb24955222fb97f3ff9da079f30ed77
* Rename ClasspathFragmentToConfiguredJarList methods to configuredJars.satayev2021-06-161-4/+0
| | | | | | | | They are internal implementation details of individual fragments. Bug: 191127295 Test: m Change-Id: Ib350135f5f6720741492f362f7b3203e5107772e
* Rename generate proto config file to match classpath type.satayev2021-05-241-1/+1
| | | | | | | | There is no need to leak soong module names. Bug: 180105615 Test: m && launch_cvd; atest CtsClasspathsTestCases Change-Id: I04f4e181d2f42b9d71641980a2c7c4e8cbc8e426
* Use absolute paths in classpaths.proto.satayev2021-05-181-1/+1
| | | | | | | | | | 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
* Move classpaths.proto related info into a separate provider.satayev2021-05-171-0/+27
| | | | | | | | | The new info struct can be easily shared with systemserverclasspath fragments. Bug: 180105615 Test: m nothing Change-Id: I9986e64fdf19f4168da63c156de3dc9bcafac8d8
* Generate empty classpaths.proto for bootclasspath_fragment.go.satayev2021-05-111-0/+2
| | | | | | | | | | | | | - 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
* Declare ConfiguredJarList in specific fragment implementations.satayev2021-05-071-26/+21
| | | | | | | | | | | | | 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
* Split SYSTEMSERVERCLASSPATH entries from platform_bootclasspath.satayev2021-05-071-4/+15
| | | | | | | | | | | 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
* Rename classpath_fragment.go methods for better readability.satayev2021-05-061-2/+2
| | | | | | Bug: 180105615 Test: m nothing Change-Id: Ic663c22e5b7cbab487dc1fe99805e08843c3213d
* Generate classpaths.proto config for *CLASSPATH variables.Artur Satayev2021-04-141-6/+90
| | | | | | | | | | | | | | 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
* Introduce classpath_fragment.go.Artur Satayev2021-04-131-0/+67
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