]
Paul Richardson commented on JBIDE-14844:
-----------------------------------------
I agree with the analysis and due to the flexibility required for the fragment, it should
be independent of other plugins/fragments.
Locating it in its own feature offers the ability to filter the installability of the
fragment by OS since it is only required on Linux.
Feature should be available at a lowish-level so that components, such as Teiid Designer,
can simply place a dependency on the fragment's feature in its own features rather
than including it, ie. the fragment feature will be part of Teiid Designer's target
platform.
Proper feature location for org.jboss.tools.foundation.security.linux
fragment
------------------------------------------------------------------------------
Key: JBIDE-14844
URL:
https://issues.jboss.org/browse/JBIDE-14844
Project: Tools (JBoss Tools)
Issue Type: Task
Components: common/jst/core
Affects Versions: 4.1.0.Beta2
Reporter: Rob Stryker
Assignee: Rob Stryker
Fix For: 4.1.0.CR1
Related to TEIIDDES-1591
There is a new plugin fragment which provides a more informative dialog for secure
storage. This fragment is named org.jboss.tools.foundation.security.linux.
No other plugin or feature should ever have a binary dependency on this plugin fragment.
It may, however, be something projects like AS-Tools or Openshift decide should be
installed alongside with it. Plugin dependencies on this fragment should never happen,
especially because this fragment should only be installed in linux, not on windows or mac.
Currently the fragment is included in the feature named
org.jboss.tools.foundation.feature. This is not optimal for a few reasons.
1) The future of this feature is uncertain. What it will contain, or whether it will
continue to exist in its current form, is up for big changes in the next major release.
2) Subsets of JBT which may wish this fragment to be present but do not have a binary
dependency on this fragment will probably use a feature requirement of some type.
3) If this fragment continues to live in org.jboss.tools.foundation.feature, then any
plugin which is also in that feature will by default be required by any higher-level
feature which 'requires' this. So, for example, if AS-Tools wishes this fragment
to be present and then 'requires' the foundation.feature, an addition of
egit-related plugins to foundation.feature would then make AS-Tools require egit, which
does not make sense.
4) Even if no plugins were added to o.j.t.foundation.feature, it then also means this
fragment cannot be moved OUT of foundation.feature, as higher-level projects will
'require' foundation.feature and expect the fragment to be present. Moving this
fragment out of its current feature would then be a breaking change, and any higher-level
features expecting current behavior would then need to be changed / updated to point to
this fragments new wrapper-feature. This is a breaking change. As an example of this,
if AS-Tools decides to require o.j.t.foundation.feature and expects the fragment to be
pulled in, moving the fragment away will result in AS-Tools not having the fragment
installed. AS-Tools would then need to update their features to point to the security
fragment's new home.
5) Having the fragment in NO feature at all would prevent the fragment from being
available on update sites.
6) Having a higher-level plugin directly "depend on" this plugin in its
manifest.mf does not make sense, especially for installations on windows or mac.
I believe the optimal solution is to give this security fragment its own wrapper feature,
so that it may be included on update sites, 'required' by projects/products like
TD or AS-Tools without any danger of refactors later, and many other benefits.
I would appreciate feedback on my thoughts here.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: