diff options
| author | 2025-01-07 16:03:10 +0000 | |
|---|---|---|
| committer | 2025-01-07 16:08:36 +0000 | |
| commit | 4c9d3055b79d0002d963b1a3e24d2f6db0bbb9b3 (patch) | |
| tree | da90fb4a39ccdaec86475e9d51680e898aa0b766 /java | |
| parent | 5a4f022c9d8fed286e891fb77b3ab2d59138aafa (diff) | |
Use {version:level} instead of % in --android-jar-pattern
Historically, Metalava only supported using `%` as a placeholder for an
API level in an `--android-jar-pattern`. Recent changes, that are part
of the work, to improve pattern matching support to allow generating
API history files from signature files have added support for using
`{version:level}` as well. This change switches the build over to using
the new placeholder, in preparation for removing support for `%`.
Bug: 383288863
Test: # Before applying this change run:
tools/metalava/scripts/gather-android-metalava-artifacts.py before
# After applying this change run:
tools/metalava/scripts/gather-android-metalava-artifacts.py after
# Make sure that there are no differences.
meld before after
Change-Id: Ie75efb9d2271ef4d7a49505293cb6d113c81b0a8
Diffstat (limited to 'java')
| -rw-r--r-- | java/droidstubs.go | 8 | ||||
| -rw-r--r-- | java/droidstubs_test.go | 42 |
2 files changed, 25 insertions, 25 deletions
diff --git a/java/droidstubs.go b/java/droidstubs.go index e955949af..fa1fb8649 100644 --- a/java/droidstubs.go +++ b/java/droidstubs.go @@ -629,8 +629,8 @@ func (d *Droidstubs) apiLevelsGenerationFlags(ctx android.ModuleContext, cmd *an cmd.Implicit(dep) } else if filename != "android.jar" && depBase == "android.jar" { // Metalava implicitly searches these patterns: - // prebuilts/tools/common/api-versions/android-%/android.jar - // prebuilts/sdk/%/public/android.jar + // prebuilts/tools/common/api-versions/android-{version:level}/android.jar + // prebuilts/sdk/{version:level}/public/android.jar // Add android.jar files from the api_levels_annotations_dirs directories to try // to satisfy these patterns. If Metalava can't find a match for an API level // between 1 and 28 in at least one pattern it will fail. @@ -646,11 +646,11 @@ func (d *Droidstubs) apiLevelsGenerationFlags(ctx android.ModuleContext, cmd *an }) // Generate the list of --android-jar-pattern options. The order matters so the first one which - // matches will be the one that is used for a specific api level.. + // matches will be the one that is used for a specific api level. for _, sdkDir := range sdkDirs { for _, dir := range dirs { addPattern := func(jarFilename string) { - cmd.FlagWithArg("--android-jar-pattern ", fmt.Sprintf("%s/%%/%s/%s", dir, sdkDir, jarFilename)) + cmd.FlagWithArg("--android-jar-pattern ", fmt.Sprintf("%s/{version:level}/%s/%s", dir, sdkDir, jarFilename)) } if sdkDir == "module-lib" || sdkDir == "system-server" { diff --git a/java/droidstubs_test.go b/java/droidstubs_test.go index 1e8362cf2..37740ae43 100644 --- a/java/droidstubs_test.go +++ b/java/droidstubs_test.go @@ -88,7 +88,7 @@ func TestDroidstubs(t *testing.T) { cmdline := String(sboxProto.Commands[0].Command) android.AssertStringContainsEquals(t, "api-versions generation flag", cmdline, "--generate-api-levels", c.generate_xml) if c.expectedJarFilename != "" { - expected := "--android-jar-pattern ./%/public/" + c.expectedJarFilename + expected := "--android-jar-pattern ./{version:level}/public/" + c.expectedJarFilename if !strings.Contains(cmdline, expected) { t.Errorf("For %q, expected metalava argument %q, but was not found %q", c.moduleName, expected, cmdline) } @@ -142,8 +142,8 @@ func TestPublicDroidstubs(t *testing.T) { patterns := getAndroidJarPatternsForDroidstubs(t, "public") android.AssertArrayString(t, "order of patterns", []string{ - "--android-jar-pattern somedir/%/public/android.jar", - "--android-jar-pattern someotherdir/%/public/android.jar", + "--android-jar-pattern somedir/{version:level}/public/android.jar", + "--android-jar-pattern someotherdir/{version:level}/public/android.jar", }, patterns) } @@ -151,10 +151,10 @@ func TestSystemDroidstubs(t *testing.T) { patterns := getAndroidJarPatternsForDroidstubs(t, "system") android.AssertArrayString(t, "order of patterns", []string{ - "--android-jar-pattern somedir/%/system/android.jar", - "--android-jar-pattern someotherdir/%/system/android.jar", - "--android-jar-pattern somedir/%/public/android.jar", - "--android-jar-pattern someotherdir/%/public/android.jar", + "--android-jar-pattern somedir/{version:level}/system/android.jar", + "--android-jar-pattern someotherdir/{version:level}/system/android.jar", + "--android-jar-pattern somedir/{version:level}/public/android.jar", + "--android-jar-pattern someotherdir/{version:level}/public/android.jar", }, patterns) } @@ -162,12 +162,12 @@ func TestModuleLibDroidstubs(t *testing.T) { patterns := getAndroidJarPatternsForDroidstubs(t, "module-lib") android.AssertArrayString(t, "order of patterns", []string{ - "--android-jar-pattern somedir/%/module-lib/android.jar", - "--android-jar-pattern someotherdir/%/module-lib/android.jar", - "--android-jar-pattern somedir/%/system/android.jar", - "--android-jar-pattern someotherdir/%/system/android.jar", - "--android-jar-pattern somedir/%/public/android.jar", - "--android-jar-pattern someotherdir/%/public/android.jar", + "--android-jar-pattern somedir/{version:level}/module-lib/android.jar", + "--android-jar-pattern someotherdir/{version:level}/module-lib/android.jar", + "--android-jar-pattern somedir/{version:level}/system/android.jar", + "--android-jar-pattern someotherdir/{version:level}/system/android.jar", + "--android-jar-pattern somedir/{version:level}/public/android.jar", + "--android-jar-pattern someotherdir/{version:level}/public/android.jar", }, patterns) } @@ -175,14 +175,14 @@ func TestSystemServerDroidstubs(t *testing.T) { patterns := getAndroidJarPatternsForDroidstubs(t, "system-server") android.AssertArrayString(t, "order of patterns", []string{ - "--android-jar-pattern somedir/%/system-server/android.jar", - "--android-jar-pattern someotherdir/%/system-server/android.jar", - "--android-jar-pattern somedir/%/module-lib/android.jar", - "--android-jar-pattern someotherdir/%/module-lib/android.jar", - "--android-jar-pattern somedir/%/system/android.jar", - "--android-jar-pattern someotherdir/%/system/android.jar", - "--android-jar-pattern somedir/%/public/android.jar", - "--android-jar-pattern someotherdir/%/public/android.jar", + "--android-jar-pattern somedir/{version:level}/system-server/android.jar", + "--android-jar-pattern someotherdir/{version:level}/system-server/android.jar", + "--android-jar-pattern somedir/{version:level}/module-lib/android.jar", + "--android-jar-pattern someotherdir/{version:level}/module-lib/android.jar", + "--android-jar-pattern somedir/{version:level}/system/android.jar", + "--android-jar-pattern someotherdir/{version:level}/system/android.jar", + "--android-jar-pattern somedir/{version:level}/public/android.jar", + "--android-jar-pattern someotherdir/{version:level}/public/android.jar", }, patterns) } |