Files
openide/plugins/package-search
Vladimir Krivosheev 98db8d8408 cleanup
GitOrigin-RevId: 658da0d11bc0c09bd2b0de8f125cddcc0724d821
2020-10-28 10:03:29 +00:00
..
2020-10-28 10:03:29 +00:00

Package Search IntelliJ plugin

This directory contains the IJ plugin for Package Search.

Testing against non-prod backend

By default, the plugin will use the REST endpoints located athttps://package-search.services.jetbrains.com/api. If you ever needed to test against a different deployment of the APIs, you can temporarily change the ServerURLs.base property value in the SearchClient.kt file, for example pointing it to a local instance of the backend such as http://localhost:7676, or a staging environment.

Please note that some of the tests in the project are not unit tests but rather integration tests that hit the backend. By default, those tests will be run against the production environment as per the ServerURLs.base value, so changing that will impact those tests. Also, if you make changes to the backend and want to run the plugin integration tests, you should be temporarily changing those tests to hit a local deploy of the backend, not the production one.

You can identify integration tests as being subclasses of the SearchClientTestsBase class.

Releasing a new version of the plugin

The plugin is bundled with IJC/IJU starting from v203, but was distributed via the Plugin Marketplace for previous versions, while in EAP. We'll still be able to distribute hotfixes via the marketplace if need be, but we'll only implement new features in the bundled versions of the plugin.

To release a new version, you will have to first make sure all required changes are on master, including the changelog for the new version. Make sure the CHANGELOG.md file has a ## NEW VERSION section at the top, and that section contains all the highlights for the release. Use the same format other entries have.

NOTE: the following process refers to the pre-bundling releases, the process is different for releases.

It's important that the changelog is up-to-date and committed/pushed to master before you cut the release as the plugin binary will inherit the release notes from that file. When cutting the release, the release notes will be tagged with a version number and date of publishing by the build system, and the changelog updated automatically — no manual changes required there.

Once you're sure the new version changelog is up to date and has been pushed, you need to head to the CI and start the Package Search / IntelliJ Plugin / IntelliJ Plugin Releases / Publish Release of the IntelliJ Plugin job.

If the job and its dependencies complete correctly, you should find the new plugin version pushed and available on the Marketplace. You can go to the listing page for the plugin and check from there. Note that it may take a few minutes for the new version to show up, in some cases.