How to properly use custom release channels in IDEA 14 (and not only)

Hi,


Based on the Scala nightly release process, documented here: http://confluence.jetbrains.com/display/SCA/Scala+Plugin+Nightly+Builds+for+Cassiopeia, I've started developing an open-source tool here: https://github.com/dlsniper/wrigi

I've got it up and running for the Go plugin here: http://github-intellij-plugin.appspot.com/go-lang-plugin-org/go-lang-idea-plugin/alpha/idea.xml and I plan to make it available for everyone that develops a plugin for IntelliJ based IDEs.

However, I've bumped into a couple of tiny problems:
- it seems I can't make the IDE properly save the custom channel between restarts. I add the XML url, it works, I see the plugin, I restart the IDE, poof, it ain't there anymore
- the plugin name is different that the one that comes from the official channel. In this particular case it's named google-go-language vs the official name Go language (golang.org) support plugin
- the plugin can't be installed from that location

The Go plugin is hosted here: https://github.com/go-lang-plugin-org/go-lang-idea-plugin and you can have a look at how the whole process goes via TravisCI which uses the Github Releases facility to make the release possible.

I'm using IDEA 14 Ultimate EAP 139.69.2 on Ubuntu Linux under JRE 1.8.0_05-b13 on x64

Please let me know if you need more details.
Thank you.


Kind regards,
Florin

snapshot250.png

0
11 comments

Hi Florin,

what do you mean "custom channel"? Custom repositories are saved between restarts here. Please attach your idea.log.

Plugin name in such situations are get from plugin file name, the real name is retrieved from plugin descriptor after download only. You may use the same format common repository use to provide all information you like. Please check config/plugins/availables.xml for examples.

I've downloaded the plugin from the repository you've pointed, description for intention Convert to raw string is missed ;)

Hope this helps.

Anna

0

Hi Anna,


Thanks for feedback.
I've tried again using the build 139.144.2 (which just came out on update 2 hours ago or something).
Unfortunately I have the same problem, the custom repository is not saved between restarts.
Since I was running the development version of the plugin I wasn't able to install the latest build from the URL until I've uninstalled that version.
Also, I've noticed that the restart button from the plugin window didn't worked properly but after I've closed the window with the plugin selection I got prompted to restart the IDE and it worked.
I'll try to send out a video of this but meanwhile I've attached the idea.log. As far as I can tell there's nothing in there, no exception, no nothing.
The steps were:
- start IDE
- add custom plugin channel
- restart IDE
- add custom channel again
- try to install plugin and fail
- remove current version of the plugin
- restart IDE
- add custom channel again
- install plugin from custom channel
- restart IDE
- check if custom channel is still there


Should I wipe my ~/.IntelliJIdea14 folder and start with a fresh copy of Idea 14?

Hope this helps and I'll get back as soon as I can find something that I can do a screen record on Ubuntu.
Thank you.


EDIT:

As for the inspection, thank you for pointing it out. We are actually working hard to improve the plugin experience as it seems that Go is really demanded but unfortunately we've lacked the time to do it. We've started working more on it again, with a big refactoring coming up soon for the whole resolving engine and not only and we'd like to provide our users with something more that just a Dropbox build. We are constantly trying to fix as many issues reporting by the inspections IDEA offers (really really great job by the way!) but time is always against us unfortunately and we have many big expectations to fill in.
Also, since there are other plugins that are hosted on Github, I want to make this service available for all the plugin developers out there but I'd like to first test it on our own thing to make sure it works. So any and all help is greatly welcomed.


Kind regards,
Florin



Attachment(s):
idea.log.zip
0

Hi Florin,

problem with old plugin is strange as it's version should be less than one in your custom repository so plugin from custom repository should be picked up. But it could wair until we can find out what's going on with your repositories url.

Could you please add repository url, save all, File|Export Settings and attach resulted jar. Then restart and again export settings and attach the resulted jar file. I have some suspects already.

Thanks,
Anna

0

Hi Anna,


Thank you for your reply.
I've did the following:
- closed active project in IDEA
- stopped the IDE
- removed any IDEA log files present
- started IDEA
- at the startup (project selection) screen pressed the shortcut combination to get the settings
- added the custom repository path
- applied settings
- from the startup screen I've then exported the configuration (settings_before.jar)
- restarted IDEA
- from the startup screen I've exported the configuration again (settings_after.jar)
- stopped IDEA
- got the idea.log file.


Hope this helps.
Thank you for your support.



Kind regards



Attachment(s):
idea.zip
0

Nothing. Could you please attach repository, save and find and attach config/options/updates.xml?
Thanks

0

It was a bug, the fix is ready and would be available in the next IDEA 14 RC. Sorry for the inconvenience

0

Hi Anna,


Thanks for the patience.
I've attached the files with the order things happend.
It seems that the setting gets removed at the start of the IDE.
Hope this helps.


Kind regards.



Attachment(s):
updates.xml.zip
0

Oh that was fast.

Thank you very much for your time and help.



Kind regards,
Florin

0

Hi Anna,

Once again, many thanks for fixing the issue.
However, I've found a new one, smaller but still pretty important.
I've filed a bug report here: https://youtrack.jetbrains.com/issue/IDEA-131833 and if I would have enough guidance, I'd even try to fix it myself so that it can be included in IDEA 14 final.
Thank you.



Kind regards

0
Avatar
Permanently deleted user

Hey All,

We want to publish nightly versions of our IntelliJ plugin. What should the API call look like?

By the way, is there any documentation available for the publishing API that we can refer to?

0

Please sign in to leave a comment.