Re: Building plugin for both 8.0.x and 8.1 series and 8.1 application bundle with recent e.g progress api changes
Jarmo Isotalo <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.devel |
|---|---|
| Message-ID | <CAPkreKy1gFFq1GREvwC5A3Ntk8USjDEPNtqi8eWUxPbkVqkK7w@mail.gmail.com> |
Yea, my idea included trying to get the Netbeans version sent somehow to the update center and do some nginx magic on the way there. The need to support multiple versions, for us, is only for a few months (till end of spring semester), not to cause too much trouble for students who got started with 8.0.2... So this kind of a hacky solution would suffice. We haven't experienced the user updating Netbeans no longer receiving updates with the self hosted update center / updates.xml and npms. Thou we might have been doing some sketchy/weird stuff with the versioning.. Anyways each user uses out plugin only for ~1 year.... And until recently there has been no backwards compatibility reasons to force update Netbeans itself. And now the only reason is to reduce our engineering overhead to support multiple versions... - Jarmo http://jarmoisotalo.com On Mar 10, 2016 12:16 AM, "BR Brett Ryan (3456)" < [email protected]> wrote: > > 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]> 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]>: >>> >>> 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]> 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]>: >>>>> >>>>> 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 (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! >>>> >>>> >> >