summaryrefslogtreecommitdiff
path: root/java/droidstubs_test.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2025-01-20 10:35:45 +0000
committer Paul Duffin <paulduffin@google.com> 2025-01-21 09:03:58 +0000
commit9820c1aa2e48eeea13df6861a477f675bbd2ba72 (patch)
treeed83491a597f070896b271b5325b1d34b4104de9 /java/droidstubs_test.go
parenta9434998cd03c3564b231e7b5c607a428c9ef59c (diff)
Use {version:major.minor?} when generating api-versions.xml
Previously, `droidstubs` would pass Metalava `--android-jar-pattern` options using `{version:level}` as the placeholder for the version. That meant that Metalava would only use historical API version jars that had a single integer version, e.g. `prebuilts/sdk/36`. While that was sufficient in the past, it will not be sufficient in future when Android starts supporting `major.minor` versions. This change switches the pattern to use `{version:major.minor?}`. That will match files without `.minor` so it will match all the files that would have been matched by the existing `{version:level}`, It will also match files with `.minor`, e.g. files like `prebuilts/sdk/37.1`. Bug: 302189716 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 # Then create a major.minor version in prebuilts/sdk by running: cp -r prebuilts/sdk/35 prebuilts/sdk/34.1 # Run the following tools/metalava/scripts/gather-android-metalava-artifacts.py major-minor # Make sure references to 35 in `api-versions.xml` and doc stubs have # been replaced with 34.1. meld before major-minor Change-Id: I94167ae12f1059853e8e2253eb20442b61dfdebb
Diffstat (limited to 'java/droidstubs_test.go')
-rw-r--r--java/droidstubs_test.go42
1 files changed, 21 insertions, 21 deletions
diff --git a/java/droidstubs_test.go b/java/droidstubs_test.go
index ad47210a1..75a0a3175 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 ./{version:level}/public/" + c.expectedJarFilename
+ expected := "--android-jar-pattern ./{version:major.minor?}/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/{version:level}/public/android.jar",
- "--android-jar-pattern someotherdir/{version:level}/public/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/public/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/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/{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",
+ "--android-jar-pattern somedir/{version:major.minor?}/system/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/system/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/public/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/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/{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",
+ "--android-jar-pattern somedir/{version:major.minor?}/module-lib/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/module-lib/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/system/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/system/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/public/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/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/{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",
+ "--android-jar-pattern somedir/{version:major.minor?}/system-server/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/system-server/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/module-lib/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/module-lib/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/system/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/system/android.jar",
+ "--android-jar-pattern somedir/{version:major.minor?}/public/android.jar",
+ "--android-jar-pattern someotherdir/{version:major.minor?}/public/android.jar",
}, patterns)
}