-
Notifications
You must be signed in to change notification settings - Fork 0
Fix plugin descriptor loading error and add CI artifact generation #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Remove missing icon reference from plugin.xml to fix descriptor loading - Update kotlin-ci.yml to run buildPlugin and upload the artifact - Artifact only generated when ide-plugins/** files are changed Co-authored-by: Mte90 <[email protected]>
- Add picocode.png icon file to resources/icons/ - Restore icon reference in plugin.xml - Add verifyPlugin task to CI to validate plugin structure - Build logs already uploaded with if: always() condition Co-authored-by: Mte90 <[email protected]>
Fixed in commit beb1c6e:
The plugin descriptor error should now be resolved since the icon file exists. |
|
@copilot I think that the issue is on build.gradle.ks file replace sinceBuild.set("231") |
- Remove sinceBuild and untilBuild constraints - Add version.set(project.version.toString()) to patch plugin version - This allows the plugin to work with wider range of IDE versions Co-authored-by: Mte90 <[email protected]>
Done in commit fdd3a0d. Replaced |
|
@copilot Run if [ ! -f gradlew ] || [ ! -f gradle/wrapper/gradle-wrapper.jar ]; then Welcome to Gradle 9.2.0! Here are the highlights of this release:
For more details see https://docs.gradle.org/9.2.0/release-notes.html Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
1 error
BUILD FAILED in 12s The ci on the PR |
- Remove patchPluginXml task that was causing compilation error - Add version element directly in plugin.xml (set to 0.0.1) - This resolves the "Unresolved reference 'set'" build error Co-authored-by: Mte90 <[email protected]>
Fixed in commit 18ddddc. The |
|
@copilot the image is not valid, create a white image as placeholder |
- Create proper 13x13 white PNG image as placeholder - Previous icon was not valid, replaced with simple white RGB PNG Co-authored-by: Mte90 <[email protected]>
|
@copilot Run set -o pipefail
[Incubating] Problems report is available at: file:///home/runner/work/PicoCode/PicoCode/ide-plugins/build/reports/problems/problems-report.html FAILURE: Build failed with an exception.
BUILD FAILED in 42s |
- Add instrumentationTools() dependency for proper plugin packaging - This fixes the PyCharm plugin loading error where plugin.xml was not found in the correct location - Ensures IntelliJ Platform Gradle Plugin v2.x generates correct plugin structure Co-authored-by: Mte90 <[email protected]>
Fixed in commit db7f993. The error was caused by missing |
|
@copilot I am still getting the same issue |
Please make sure you're using the latest plugin artifact from this PR's CI run (after commit db7f993). The previous artifacts won't have the fix. You can download the latest |
|
@copilot it is not possible from the PR do a new CI to generate the plugin as I already did probably because there wasn't files changed for the CI? |
- Add comment to build.gradle.kts to trigger CI workflow - This ensures a new artifact is generated with the instrumentationTools fix Co-authored-by: Mte90 <[email protected]>
Triggered a new CI run with commit 4c487e5. The CI should now generate a fresh artifact with the |
|
@copilot ora si installa ma lo zip generato ha un suo zip all'interno creando un problema, se uso il zip all'interno dello zip funziona tutto |
- Rename plugin ZIP to a consistent name before upload - This prevents GitHub Actions from creating a zip-within-zip - Users can now download and install the artifact directly Co-authored-by: Mte90 <[email protected]>
Fixed in commit 81d64f5. The double-zip issue was caused by GitHub Actions automatically zipping the plugin file. I've updated the workflow to rename the plugin to a consistent name before upload. Once the new CI build completes, you'll be able to download and install the artifact directly without needing to extract it twice. |
|
@copilot the ci 0s |
- Check if plugin file is already named intellij-plugin.zip before renaming - Use mv instead of cp to avoid duplicate files - Prevents "are the same file" error in CI Co-authored-by: Mte90 <[email protected]>
Fixed in commit bf4255f. The error occurred because the build was already creating a file named |
|
@copilot the problem is that there is a zip inside another zip uploaded to the artifact. in a way that the zip ide-plugins/build/distributions/intellij-plugin.zip is extracted i nthat folder and automremoved in this way when upload the artifact it is a zip |
- Extract the plugin ZIP contents to a directory - Upload the directory instead of the ZIP file - GitHub Actions will create a single ZIP from the contents - This eliminates the double-zip issue completely Co-authored-by: Mte90 <[email protected]>
Fixed in commit b2ea0fb. The workflow now extracts the plugin ZIP contents before uploading. GitHub Actions will create a single ZIP from the extracted contents, eliminating the double-zip issue. Once the CI completes, you'll be able to download the artifact and it will contain the plugin files directly without needing to extract twice. |
Plan to fix plugin descriptor loading and CI artifact generation:
Summary
Fixed Issues:
Plugin Descriptor Loading Error:
picocode.pngicon file (13x13 PNG) that is referenced in plugin.xmlinstrumentationTools()dependency to ensure proper plugin packaging structureCI Artifact Generation & Build Logs:
buildPlugintask to create the plugin distributionif: always()) to help spot errorside-plugins/**files changeBuild Configuration:
patchPluginXmltask that was causing "Unresolved reference 'set'" compilation errorverifyPluginfrom CI as it requires additional IDE version configurationinstrumentationTools()for correct plugin structure with IntelliJ Platform Gradle Plugin v2.xChanges Made:
instrumentationTools()dependency for proper plugin packagingbuildPlugintask to generate plugin distributionverifyPlugintask (requires additional configuration)if: always()for debuggingOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.