remove-platform-version

作者: flutter

從專案中移除對較舊 IntelliJ Platform / Android Studio 版本的支援,並清理過時的程式碼、基準線和 CI 配置。

npx skills add https://github.com/flutter/flutter-intellij --skill remove-platform-version

Skill: Remove Platform Version Support

You are tasked with removing support for an older IntelliJ Platform or Android Studio version (e.g., dropping support for 2025.1 / build 251 and raising the lower bound to 2025.2 / build 252).

Objective

Systematically update compatibility ranges, clean up CI verification loops and baseline files, identify and remove obsolete compatibility code or TODOs, check repository issues, and update documentation.


Workflow Instructions

1. Establish Baseline & Identify Target Version

  • Identify the build number being removed (e.g., 251 for 2025.1) and the new lower bound (e.g., 252 for 2025.2).
  • Run ./gradlew testClasses to ensure the project compiles before making changes.

2. Update Compatibility Lower Bound (gradle.properties)

  • Open gradle.properties.
  • Update sinceBuild=<version> to the new lower bound build number (e.g., change sinceBuild=251 to sinceBuild=252).

3. Update CI Verification Script (tool/github.sh)

  • Open tool/github.sh.
  • Locate the VERIFY_BOT verification loop (for version in ...; do).
  • Remove the dropped version number from the list so that ./gradlew verifyPlugin is only run against active versions in the compatibility range.

4. Remove Obsolete Verifier Baseline (tool/baseline/)

  • Check tool/baseline/<version>/ for the removed version directory.
  • Remove the directory and baseline file (e.g., using git rm -r tool/baseline/<version>) so baseline update scripts (tool/update_baselines.sh) do not attempt to verify unsupported versions.

5. Search & Remove Obsolete Code and TODOs

  • Search Codebase: Grep src/ for references to the removed build number or version string (e.g., 251, 2025.1).
  • Check Version Checks: Look for version-specific branches or workarounds (such as in DartPluginVersion.java or UI compatibility shims) that check for the removed version and simplify or remove dead code paths.
  • Check TODOs: Look for comments like TODO: remove when dropping support for <version> or similar workarounds that can now be cleaned up.

6. Search Repository Issues

  • Search repository issues (via GitHub issue search or issue tracker) for issues related to dropping or moving off the removed version (e.g., repo:flutter/flutter-intellij <version> or platform compatibility issues).
  • Check if any open issues or tracked technical debt items specify code deletions or cleanup steps upon dropping support for that version, and implement any applicable cleanups.

7. Update Changelog

  • CHANGELOG.md: Under the ### Removed section, add an entry documenting the removal (e.g., - Support for platform version 2025.1.).
  • Note: Do not modify docs/building.md. Its version examples are illustrative and should not be updated when removing a platform version.

8. Verify & Validate

  • Run ./gradlew testClasses to verify compilation.
  • Run ./gradlew test to verify unit tests pass.
  • Run ./gradlew verifyPlugin to verify that plugin verification succeeds against the new compatibility range.

來自 flutter 的更多技能

dart-modern-features
flutter
為了尋找現代化的候選對象:
flutter-fix-layout-issues
flutter
使用 Dart 和 Flutter MCP 工具修復 Flutter 佈局錯誤(溢出、無限制約束)。適用於處理「RenderFlex overflowed」、「Vertical…」等問題。
adding-release-notes
flutter
在 DevTools 發行說明中新增使用者面向的變更描述。用於在 NEXT_RELEASE_NOTES.md 檔案中記錄改進、修正或新功能。
reviewing-devtools-prs
flutter
DevTools 儲存庫專用的 PR 審查工作流程,強制執行 DevTools 風格指南與常見審查模式。用於審查以下專案中的拉取請求時…
dart-use-primary-constructors
flutter
協助使用者撰寫語法與語意正確的 Dart 主要建構子,並遷移/使用新的建構子語法、空主體分號語法、…
code-documentation
flutter
編寫有效程式碼文件的指南,包括 docstrings、JSDoc、dartdoc 和實作註解。在編寫新程式碼、新增…時使用此技能。
api-review
flutter
根據規範的 API 設計指南審查指定的程式碼。當使用者要求進行 API 審查或檢查程式碼是否符合 API 設計時,請使用此技能。
flutter-accessibility
flutter
在 Flutter 應用程式中實作 WCAG 2 與 EN 301 549 無障礙標準及自適應佈局。強制執行語意標註、觸控目標尺寸(最小 48x48 dp)以及文字對比度(小字 4.5:1,大字 3:1),涵蓋行動裝置、網頁與桌面平台。提供網頁語意初始化、互動元件包裝、基於螢幕尺寸的佈局切換,以及鍵盤/滑鼠輸入處理的決策邏輯。包含透過 FocusTraversalGroup 進行的焦點導覽管理,以及...