Repository navigation
[build] Use command-line tools 21.0 by default - #12896
Conversation
Command-line tools 22.0 deprecates sdkmanager, while 21.0 is the newest release that keeps it supported. Keep 21.0 as the installer recommendation so license and SDK management continue to use the supported sdkmanager flow. Co-authored-by: Copilot App <[email protected]>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The reviewed change is supported and preserves the supported sdkmanager workflow.
Review effort: Lite
Findings: None
What changed in this PR
Updates the default Android command-line tools version from 22.0 to 21.0 to preserve the supported sdkmanager workflow.
Changes:
- Sets the shared default version to 21.0.
- Keeps generated installer constants aligned with the supported feed entry.
| File | Description |
|---|---|
src/Xamarin.Installer.Build.Tasks/Xamarin.Installer.Common.props |
Sets the default command-line tools version to 21.0. |
Remove command-line tools 22.0 from the Xamarin manifest and install 21.0 into cmdline-tools/latest so the feed matches the recommended installer version. Co-authored-by: Copilot App <[email protected]>
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
The new 21.0 installer default cannot be fulfilled by the default feed. Xamarin.Installer.Common.props now requires 21.0, but XamarinRepository.GetDefaultManifestURL() reads https://aka.ms/AndroidManifestFeed/d18-0 rather than the updated checked-in XML; that live feed currently has 19.0 as latest and no cmdline-tools;21.0. InstallAndroidDependencies therefore treats 21.0 as unknown, only emits a warning, and returns success without installing the requested command-line tools (see XamarinRepository.cs:43-47, Repository.cs:240-250, and InstallAndroidDependencies.cs:181-202,269-284). Please ensure 21.0 is available from the default feed before switching the required version, or have the installer consume the updated bundled feed; test a default-source install without overriding AndroidManifestSource.
|
We normally update the https://aka.ms/AndroidManifestFeed/d18-0 URL after merging. |
|
@dalexsoto stamp |
dalexsoto
left a comment
There was a problem hiding this comment.
Stamping as requested by @jonathanpeppers; no code review performed.
|
/backport to release/11.0.1xx-rc2 |
|
Started backporting to |
Downgrade the recommended Android command-line tools version from 22.0 to 21.0. Command-line tools 21.0 is the newest release where `sdkmanager` is not deprecated. Version 22.0 emits a deprecation warning, while 23.0 redirects users to the Android CLI. Keeping 21.0 as the installer default preserves the supported `sdkmanager` workflow. The Xamarin manifest now removes 22.0 and marks 21.0 as its `cmdline-tools/latest` package, keeping the installer recommendation and installation path coordinated. The existing Google archive URLs for 21.0 are unchanged. Co-authored-by: Jonathan Peppers <[email protected]> Co-authored-by: Copilot App <[email protected]>
Description
Downgrade the recommended Android command-line tools version from 22.0 to 21.0.
Command-line tools 21.0 is the newest release where
sdkmanageris not deprecated. Version 22.0 emits a deprecation warning, while 23.0 redirects users to the Android CLI. Keeping 21.0 as the installer default preserves the supportedsdkmanagerworkflow.The Xamarin manifest now removes 22.0 and marks 21.0 as its
cmdline-tools/latestpackage, keeping the installer recommendation and installation path coordinated. The existing Google archive URLs for 21.0 are unchanged.Testing
src/Xamarin.Installer.AndroidSDK/Xamarin.Installer.AndroidSDK.csprojRequiredCommandLineToolsVersionconstant is21.0cmdline-tools/latestentry for 21.0