Hi Folks,
The Forge meeting today started off with a discussion spawned by this JIRA issue:
https://issues.jboss.org/browse/FORGE-584.
You can find the complete discussion in the logs:
http://transcripts.jboss.org/meeting/irc.freenode.org/forge/2012/forge.20....
By the way why was there no email send around with this info? Isn't this supposed to
happen automatically?
The summary is that there are 2 aspects to this problem:
1. When installing a Forge plugin, the correct version of this plugin, compatible with the
runtime that is requesting the install should be selected
2. When launching a Forge runtime, the plugins that are not compatible with the runtime
that is launched cannot be enabled
AFAIK both aspects have been addressed to some extent but the discussion proves that there
is room for improvement. This email thread is the place where we can continue this
discussion and maybe hash out some JIRA issues.
As I understand, FORGE-584 was due to the fact that the plugin referenced version
1.0.0-SNAPSHOT of the Forge API in the 1.0.2.Final branch of the plugin. It is not
abnormal that this does not work. The plugins should be compatible at runtime but not
necessarily building with the latest and greatest version of the Forge API. So this was
IMO a bug in the plugin code where the plugin writer had not properly updated the
dependencies in one (or more) branch(es). I believe we already had this discussion before
and I really don't see a way to make this updating process go smoother. Ideas here are
more than welcome.
To address the second aspect above, it is a bit awkward to have to reinstall all the
plugins when the runtime is for example updated from version 1.0.6.Final to 1.1.0.Final.
And what if you need to maintain 1.0.x and 1.1.x at the same time? To address these
problems I see 2 possibilities. The first is to allow multiple versions of plugins to be
installed next to each other and the runtime will select the most appropriate version when
it starts. When the compatible version of an already existing plugin is not available,
Forge could ask the user if it can be installed automatically, thus addressing the manual
reinstall mentioned earlier. The second solution would be that every runtime has its own
location to install plugins and comes already bundled with a number of 'blessed'
plugins, much like the Eclipse way of doing stuff. Again, ideas more than welcome.
WDYT?
Cheers,
Koen