Re: Building plugin for both 8.0.x and 8.1 series and 8.1 application bundle with recent e.g progress api changes
"BR Brett Ryan (3456)" <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.devel |
|---|---|
| Message-ID | <[email protected]> |
That's precisely the problem though. If I were a plugin author and I wrote a plugin for 8.0, then I released a new version for 8.1, then users start upgrading 8.0 -> 8.1 using their existing profile their plugins are not automatically upgraded. Actually, this might be the case for the official plugin centre, but not for unofficial ones. I remember last time this came up there was talks of an update to the update centre which would send a query parameter of the IDE's version to allow the update centre to provide the latest versions for that IDE version. While calls to ModuleInstall#validate() may be an alternate option I wouldn't recommend it, as this then puts the ownership of plugin portal related internals back on the plugin author which IMHO is bad practice. On 10 Mar 2016, at 08:52, Benno Markiewicz <[email protected]<mailto:[email protected]>> wrote: The official plugin center at http://plugins.netbeans.org/ supports multiple target versions at the same time.<2016-03-09_22h47_06.png> The plugins for specific NB version are provided by version specific update center urls. Like http://plugins.netbeans.org/nbpluginportal/updates/8.1/catalog.xml.gz http://plugins.netbeans.org/nbpluginportal/updates/8.0/catalog.xml.gz http://plugins.netbeans.org/nbpluginportal/updates/x.y/catalog.xml.gz With kind regards, markiewb 2016-03-09 22:23 GMT+01:00 BR Brett Ryan (3456) <[email protected]<mailto:[email protected]>>: I think the issue is needing to somehow support different versions of the same plugin for different NetBeans versions on the update centre. I think this has come up a few times with the only solution being to provide different names in the plugin? I recall this coming up maybe 12 months ago? On 10 Mar 2016, at 08:15, Benno Markiewicz <[email protected]<mailto:[email protected]>> wrote: Hej Jamo, I don't understand your question correctly. If the target platform is 8.1 then the plugin won't run in NB <8.1. That tells you the error messages from the gist. You are requesting dependencies with a version from NB8.1, but NB8.0.2 cannot provide them. With kind regards, markiewb 2016-03-09 22:07 GMT+01:00 <[email protected]<mailto:[email protected]>>: Hello, There is something I coudln't figure out on my own, about the api changes in NetBeans 8.1 (or maybe bigger question how the versioning is done)... We have this plugin: https://github.com/testmycode/tmc-netbeans which consists of the plugin itself and the application part (which I assume we use for building the bundled plugin+application installer). Recently we wanted to start building the bundled application with NetBeans 8.1 so that our users will get the latest NetBeans. So I routinely upgraded the plugin project to use NetBeans 8.1 as the nbplatform. However now the api changes, most notably org.netbeans.api.progress.nb caused some issues. (We use: org.netbeans.api.progress.ProgressHandleFactory). After adding this plugin as dependency, new releases, (plugin updates), will no longer install to NetBeans 8.0.2 clients as the org.netbeans.api.progress.nb couldn't be found. Error is something like this (someone managed to install the update to older netbeans: https://gist.github.com/jamox/f7644f1164f7527b3c0f#file-gistfile1-txt-L 36-L65<https://gist.github.com/jamox/f7644f1164f7527b3c0f#file-gistfile1-txt-L36-L65> (this specific in in a case when installing the update was possible, or forced). What I've figured out, If I use 8.0.2 as the nbplatform, plugins installed to 8.1 applications will work due to the compatibility additions. and ofc also with 8.0.2 as plugins was build using it. So the question the wall of text leads to: How I can generate the bundled application installer for 8.1 but build the application so that the plugin/update would be installable to older 8.0.x NetBeanses as well. One solution would be to have separate branches even to have one using 8.0.2 and other using 8.1 - which sounds really tedious and error prone... Thanks!