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!
>>>>
>>>>
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.