Skip to content

Deploy Plugin on JetBrains Marketplace

Mark Nash edited this page Apr 8, 2021 · 6 revisions

If you did not already know, this plugin is accessible on the JetBrains Plugin Marketplace, which allows plugins to be downloaded from within the IDE (I think any JetBrains IDE for that matter). The plugin is called PLCC.

If the plugin does not show up for you when searching within the IDE, it probably is that either your IDE is not up to date enough or your IDE is too new. Check the <idea-version since-build=""> value in plugin.xml.

Only one file needs to be changed to differentiate a build. This is the build.gradle.kts. There is a task specified in there that patches the plugin.xml when being built. There should be a changeNotes function call which takes in a Kotlin string of the change notes that will be displayed when deployed. Change this to make it show the desired text. Also, increment the value in the version field at the top of the file to the desired version. The version(version) call puts that version in the plugin.xml at build time. Remember to stick to semver.

When you are ready to build, make sure you have generated the the parser code and the tokenizer code from the files specified in the README file of this directory. Now you can run the Gradle :jar task. This should build successfully.

The jar will be in build/libs/plcc-MAJOR.MINOR.PATCH.jar with the version being the one you specified in the build.gradle.kts.

Now go to the JetBrains Plugin Marketplace and login as me (Mark Nash, email me for the credentials if no one else has them). Then you can access the PLCC plugin admin page. At the top right, there will be a Upload Update button. Click that, add the jar file just built, and specify the channel (stable). In the next 1 or 2 business days, the plugin will be approved and everyone with the plugin downloaded on their IDE will get a notification to download the update.

Either before or after it is uploaded, make sure you tag the release on github with the version. To do this make a commit with just build.gradle.kts, and push it with a message that has the version number in it. Then do a git tag MAJOR.MINOR.PATCH, then git push origin <tag-version/name> to push it to GitHub.