Skip to content

Commit b089a2a

Browse files
authored
Drop support for platform version 2025.1 (#9033)
This also adds a skill for removing versions in the future.
1 parent 305b5a2 commit b089a2a

8 files changed

Lines changed: 56 additions & 69 deletions

File tree

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: remove-platform-version
3+
description: Remove support for an older IntelliJ Platform / Android Studio version from the project and clean up obsolete code, baselines, and CI configurations.
4+
---
5+
6+
# Skill: Remove Platform Version Support
7+
8+
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`).
9+
10+
## Objective
11+
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.
12+
13+
---
14+
15+
## Workflow Instructions
16+
17+
### 1. Establish Baseline & Identify Target Version
18+
- Identify the build number being removed (e.g., `251` for `2025.1`) and the new lower bound (e.g., `252` for `2025.2`).
19+
- Run `./gradlew testClasses` to ensure the project compiles before making changes.
20+
21+
### 2. Update Compatibility Lower Bound (`gradle.properties`)
22+
- Open `gradle.properties`.
23+
- Update `sinceBuild=<version>` to the new lower bound build number (e.g., change `sinceBuild=251` to `sinceBuild=252`).
24+
25+
### 3. Update CI Verification Script (`tool/github.sh`)
26+
- Open `tool/github.sh`.
27+
- Locate the `VERIFY_BOT` verification loop (`for version in ...; do`).
28+
- Remove the dropped version number from the list so that `./gradlew verifyPlugin` is only run against active versions in the compatibility range.
29+
30+
### 4. Remove Obsolete Verifier Baseline (`tool/baseline/`)
31+
- Check `tool/baseline/<version>/` for the removed version directory.
32+
- 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.
33+
34+
### 5. Search & Remove Obsolete Code and TODOs
35+
- **Search Codebase:** Grep `src/` for references to the removed build number or version string (e.g., `251`, `2025.1`).
36+
- **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.
37+
- **Check TODOs:** Look for comments like `TODO: remove when dropping support for <version>` or similar workarounds that can now be cleaned up.
38+
39+
### 6. Search Repository Issues
40+
- 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).
41+
- 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.
42+
43+
### 7. Update Changelog
44+
- **`CHANGELOG.md`:** Under the `### Removed` section, add an entry documenting the removal (e.g., `- Support for platform version 2025.1.`).
45+
- **Note:** Do not modify `docs/building.md`. Its version examples are illustrative and should not be updated when removing a platform version.
46+
47+
### 8. Verify & Validate
48+
- Run `./gradlew testClasses` to verify compilation.
49+
- Run `./gradlew test` to verify unit tests pass.
50+
- Run `./gradlew verifyPlugin` to verify that plugin verification succeeds against the new compatibility range.

.gemini/styleguide.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ enforce standard modern Java/Kotlin coding conventions, but strictly police the
1313
- `[NIT]`: Idiomatic improvements or minor naming suggestions.
1414
- **Focus:** Prioritize logic, performance on the UI thread, and architectural consistency.
1515
- **No Empty Praise:** Do not leave "Looks good" or "Nice change" comments. If there are no issues, leave no comments.
16-
- **Copyright Headers:** Ensure all new files have a proper copyright header (e.g., `Copyright 2026 The Chromium Authors`). Flag any missing
17-
headers as `[MUST-FIX]`.
16+
- **Copyright Headers:** Ensure all new source code files (`.java`, `.kt`, `.dart`, `.sh`) have a proper copyright header (e.g., `Copyright 2026 The Chromium Authors`). Do NOT require copyright headers on documentation, markdown (`.md`), YAML, JSON, or agent skill documents (`SKILL.md`). Flag any missing headers on source code files as `[MUST-FIX]`.
1817

1918
## 2. IntelliJ Platform Best Practices
2019

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Changed
66

77
### Removed
8+
- Support for platform version 2025.1.
89

910
### Fixed
1011

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ These skills are located in the [.agents/skills/](.agents/skills/) directory. Th
9292

9393
### Available Workspace Skills:
9494
* **[Code Review](.agents/skills/code-review/SKILL.md):** Performs a pedantic, multi-perspective code review (covering logic, correctness, resource safety, design, and styleguide compliance) on your uncommitted changes.
95+
* **[Remove Platform Version](.agents/skills/remove-platform-version/SKILL.md):** Remove support for an older IntelliJ Platform / Android Studio version from the project and clean up obsolete code, baselines, and CI configurations.
9596

9697
### How to use:
9798
Tell your AI assistant to run the desired skill (e.g. by typing `/code-review` or asking *"Run the code-review skill on my changes"*). The agent will automatically find, load, and follow the instructions in the corresponding `SKILL.md` file.

docs/building.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ $ gcloud storage cp <path-to-archive> gs://flutter_infra_release/flutter/intelli
6767

6868
(The below is a summary of an internal doc on our strategy for version management.)
6969

70-
The main branch intends to support multiple IDEA platform versions (e.g. currently, 2025.1 to 2025.3). This simplifies
70+
The main branch intends to support multiple IDEA platform versions (e.g. 2025.1 to 2025.3). This simplifies
7171
development as only one plugin is typically built and released from main.
7272

7373
However, there may be times when we need different builds for different versions of the IDEA platform; for example, if we introduce a

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
androidStudioVersion=2026.1.2.8
1010
dartPluginVersion= 505.0.0
1111
# Also update the versions for verify checks in tool/github.sh.
12-
sinceBuild=251
12+
sinceBuild=252
1313
untilBuild=262.*
1414
javaVersion=21
1515
kotlin.stdlib.default.dependency=false

0 commit comments

Comments
 (0)