fix: remove until-build magic value 999.* from plugin descriptor - #36
Merged
Merged
Conversation
JetBrains Marketplace rejects plugin uploads whose <until-build> contains the magic value 999 (e.g. "999.*"), returning: "Invalid plugin descriptor 'plugin.xml'. The <until-build> attribute (999.*) should not contain a magic value (999)." The generated plugin.xml gets its <idea-version> patched by Gradle's intellij-platform plugin from build.gradle.kts, not from the source plugin.xml directly, so untilBuild = "999.*" there was the actual root cause. Removed it so the plugin is marked compatible with all future IDE versions, per JetBrains' own recommendation. Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
🟢 Approval recommended
The functional change directly resolves the Marketplace rejection, and the only feedback is a minor clarity/documentation improvement.
Pull request overview
This PR addresses JetBrains Marketplace validation failures by removing the “magic” until-build="999.*" upper bound from the generated plugin.xml descriptor, so the plugin is not rejected during upload.
Changes:
- Updated IntelliJ Platform Gradle configuration to avoid emitting an
until-buildvalue in the patched plugin descriptor. - Minor whitespace/indentation adjustment in
plugin.xml(no functional change).
File summaries
| File | Description |
|---|---|
build.gradle.kts |
Sets untilBuild to a null provider so patchPluginXml omits the until-build attribute (removing the 999.* magic value). |
src/main/resources/META-INF/plugin.xml |
Whitespace-only indentation change in the toolWindow declaration. |
Review details
Copilot wasn't able to review any files in this pull request.
- Files reviewed: 0/2 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
JetBrains Marketplace rejects plugin uploads with:
```
{"statusCode":400,"message":"Invalid plugin descriptor 'plugin.xml'. The attribute (999.*) should not contain a magic value (999)..."}
```
Root cause
The deployed plugin.xml's
<idea-version>is patched by Gradle'sintellij-platformplugin frombuild.gradle.ktsat build time (not from the sourceplugin.xmldirectly).build.gradle.ktshad:```kotlin
ideaVersion {
sinceBuild = "242"
untilBuild = "999.*"
}
```
which produced the rejected magic value.
Fix
Removed
untilBuildso the plugin is marked compatible with all future IDE versions, per JetBrains' own recommendation in the error message. Verified with a clean./gradlew patchPluginXmlbuild that the generated descriptor now emits only<idea-version since-build=\"242\" />with nountil-buildattribute.