Enterprise Plugin Repository
March 4th, 2008 by Maria KhalusovaIt is sometimes the case, you can create plugins you want to preserve for internal use only. With
IntelliJ IDEA you can maintain your own enterprise repository to share your plugins with team members solely.
To create a repository, we need a Web server, where our plugins will reside, and a descriptor of available plugins (updatePlugins.xml), so IntelliJ IDEA could find them. This file can be located at the same Web server, for instance. By the time we decide to use plugins from the enterprise repository, we’ll only need to specify where this descriptor resides. To do so, open the Settings dialog
When creating updatePlugins.xml file for your repository, follow this DTD:
http://plugins.intellij.net/dtd/idea/updatePlugins1.0.dtd, so IntelliJ IDEA would be able to recognize available plugins.
Each plugin entry in this file should contain plugin identifier and URL of the plugin repository. Additionally, we can specify here plugin version. Though, if it is not pointed out in updatePlugins.xml, IntelliJ IDEA will fish it out from the plugin *.jar.
For example, we upload MyPlugin to the Web server where the repository resides. Then we open the updatePlugins.xml and add new plugin entry, like this one:
<plugins> <plugin id="MyPlugin" url="http://unit:8080/myPlugin.jar" version="1.0"/> </plugins>
And that’s all we need to do to add the plugin to our repository.
If the whole team uses customized IntelliJ IDEA, you can add the whole list of plugin hosts to the bin/idea.properties under IntelliJ IDEA installation folder. Just open this file and add the following line: -D idea.plugin.hosts=[URL1],[URL2],…[URLn] where [URL1],[URL2],…[URLn] is a comma-delimited list of the URLs to the enterprise repositories.
Once hosts are specified, plugins are automatically updated according to the schedule defined in the Check for updates field of the Updates dialog. Yet, you can update them manually any time you need it. Just open the Updates dialog and click Check now. Update Info dialog box opens showing the list of plugins from all the available enterprise repositories. You can unselect those of them you don’t want to update for some reason.
Don’t forget that updates will take effect after IntelliJ IDEA restart.
March 4th, 2008 at 6:08 am
This is a great feature, i’ve been waiting for this ever since i started using IDEA.
Regarding plugin repositories, the only thing i find missing is a hosted not stable plugins repository. A snapshots plugin repository, doing the Maven analogy. I think this would help plugin providers get feedback earlier from users.
March 4th, 2008 at 9:00 am
You wrote:
“If the whole team uses customized IntelliJ IDEA”.
Can you describe in few words this subject. Is there a way to team to share configuration ?
B.R
Boaz
March 5th, 2008 at 6:33 am
Boaz,
You can customize the bin/idea.properties file and share it with the whole team, thus sharing lots of settings, including the list of plugin hosts.
May 12th, 2008 at 3:26 am
Hey, thanks for the very helpful post.
I did exactly what you describe (I think) with somewhat different results. Each time IDEA update check is performed (like on startup in my case) it pops a dialog informing me that my plugins have been downloaded and I need to restart for the update to take effect. This happens every time with no regard to version or whether the jars have actually changed. Also there is no option to select which plugins to download.
What am I missing?
August 19th, 2008 at 10:01 pm
Hi Dmitry,
Maybe you have solved this by now but I just set this up and I found I had a similar problem for one of my plugins.
I fixed it by ensuring that the id matched the plugin name in the xml.
updatePlugins.xml:
PluginName
…
Hope that helps.
Nick