Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 12, 2025

Plugin was building automatically on releases with hardcoded version. Need manual control over builds with version matching release tags and standardized artifact naming.

Changes

Workflow (.github/workflows/build-plugin.yml)

  • Changed trigger from release events to workflow_dispatch with required version input
  • Pass version to Gradle via -Pversion flag
  • Artifact name: intellij-plugin-{version}

Build (build.gradle.kts)

  • Dynamic version: project.findProperty("version") as String? ?: "0.2.0"
  • Archive base name: archiveBaseName.set("intellij-plugin")
  • Inject version into plugin.xml: patchPluginXml { version.set(project.version.toString()) }

Plugin metadata (plugin.xml)

  • Removed hardcoded <version> tag (now injected at build time)

Usage

# GitHub Actions: Run workflow → enter version → get intellij-plugin-{version}.zip
# Local: 
./gradlew buildPlugin -Pversion=0.2.1

Output: intellij-plugin-0.2.1.zip

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • cache-redirector.jetbrains.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED -Xmx3g -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/REDACTED/.gradle/wrapper/dists/gradle-9.2.0-bin/11i5gvueggl8a5cioxuftxrik/gradle-9.2.0/lib/gradle-daemon-main-9.2.0.jar -javaagent:/home/REDACTED/.gradle/wrapper/dists/gradle-9.2.0-bin/11i5gvueggl8a5cioxuftxrik/gradle-9.2.0/lib/agents/gradle-instrumentation-agent-9.2.0.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 9.2.0 (dns block)
  • download.jetbrains.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.xml/javax.xml.namespace=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED -Xmx3g -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/REDACTED/.gradle/wrapper/dists/gradle-9.2.0-bin/11i5gvueggl8a5cioxuftxrik/gradle-9.2.0/lib/gradle-daemon-main-9.2.0.jar -javaagent:/home/REDACTED/.gradle/wrapper/dists/gradle-9.2.0-bin/11i5gvueggl8a5cioxuftxrik/gradle-9.2.0/lib/agents/gradle-instrumentation-agent-9.2.0.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 9.2.0 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

I don't want that the plugin is built at every new tag, also the artifacts needs to be the same version of the tag of the release.
the zip file needs to be intellij-plugin-(version)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits November 12, 2025 11:19
- Changed workflow to trigger only on manual workflow_dispatch with version input
- Updated build.gradle.kts to accept version as a parameter (-Pversion)
- Configured buildPlugin task to output as intellij-plugin-{version}.zip
- Added patchPluginXml task to inject version into plugin.xml
- Removed hardcoded version from plugin.xml

Co-authored-by: Mte90 <403283+Mte90@users.noreply.github.com>
Co-authored-by: Mte90 <403283+Mte90@users.noreply.github.com>
Copilot AI changed the title [WIP] Update build conditions for plugin artifacts Make plugin build manual-only with dynamic versioning Nov 12, 2025
Copilot AI requested a review from Mte90 November 12, 2025 11:25
Copilot finished work on behalf of Mte90 November 12, 2025 11:25
@Mte90 Mte90 marked this pull request as ready for review November 12, 2025 11:28
@Mte90 Mte90 merged commit 269f85d into master Nov 12, 2025
@Mte90 Mte90 deleted the copilot/update-plugin-build-conditions branch November 12, 2025 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants