Karaf
  1. Karaf
  2. KARAF-969

Feature installer should not accept different features with equal names

    Details

      Description

      The feature installer should reject feature files that contain features with conflicting names. The installer currently allows this, while the install command cannot differentiate between two features with the same name.

      Maybe the concept of feature namespaces would be a good solution. The feature repository name could function as the namespace. The install command should then support something like this:

      features:install <repo>:<feature>
      

        Activity

        Geert Schuring created issue -
        Hide
        David Jencks added a comment -

        In trunk it is very easy to package the same feature into multiple feature repositories. I don't think there's anything wrong with this. I think the obvious solution is to have "fully qualified" feature names that look like what everyone is using for bundle symbolic names, e.g. org.apache.karaf.feature.MyFeatureName. I know these got removed from trunk, but IMO this jira is an example of why they should be put back.

        Show
        David Jencks added a comment - In trunk it is very easy to package the same feature into multiple feature repositories. I don't think there's anything wrong with this. I think the obvious solution is to have "fully qualified" feature names that look like what everyone is using for bundle symbolic names, e.g. org.apache.karaf.feature.MyFeatureName. I know these got removed from trunk, but IMO this jira is an example of why they should be put back.
        Hide
        Jean-Baptiste Onofré added a comment -

        I don't thank that using a fully qualified name will help.

        An user can still define the same feature name (even if it's full qualified) in two different features XML.

        In the feature validation util, we can check if a feature with the same name AND version exists. If it's the case, we should raise an exception.

        I'm not in favor of using features:install <repo>:<feature> because the user shouldn't take care of the repo itself.

        Show
        Jean-Baptiste Onofré added a comment - I don't thank that using a fully qualified name will help. An user can still define the same feature name (even if it's full qualified) in two different features XML. In the feature validation util, we can check if a feature with the same name AND version exists. If it's the case, we should raise an exception. I'm not in favor of using features:install <repo>:<feature> because the user shouldn't take care of the repo itself.
        Hide
        Jamie goodyear added a comment -

        Bumping to 2.2.6.

        Show
        Jamie goodyear added a comment - Bumping to 2.2.6.
        Jamie goodyear made changes -
        Field Original Value New Value
        Fix Version/s 2.2.6 [ 12319142 ]
        Fix Version/s 2.2.5 [ 12317857 ]
        Hide
        Jamie goodyear added a comment -

        Bumping to 2.2.7.

        Show
        Jamie goodyear added a comment - Bumping to 2.2.7.
        Jamie goodyear made changes -
        Fix Version/s 2.2.7 [ 12320174 ]
        Fix Version/s 2.2.6 [ 12319142 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 3.0.0 [ 12316040 ]
        Assignee Jean-Baptiste Onofré [ jbonofre ]
        Fix Version/s 2.3.0 [ 12320554 ]
        Christian Schneider made changes -
        Fix Version/s 3.1.0 [ 12316946 ]
        Fix Version/s 3.0.0 [ 12316040 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.2.8 [ 12320756 ]
        Fix Version/s 2.2.7 [ 12320174 ]
        Andreas Pieber made changes -
        Fix Version/s 3.0.1 [ 12316945 ]
        Jean-Baptiste Onofré made changes -
        Assignee Jean-Baptiste Onofré [ jbonofre ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.2.9 [ 12321741 ]
        Fix Version/s 2.2.8 [ 12320756 ]
        Hide
        Jamie goodyear added a comment -

        Bumping to 2.2.10

        Show
        Jamie goodyear added a comment - Bumping to 2.2.10
        Jamie goodyear made changes -
        Fix Version/s 2.2.10 [ 12322541 ]
        Fix Version/s 2.2.9 [ 12321741 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.3.1 [ 12321743 ]
        Fix Version/s 3.0.0 [ 12316040 ]
        Fix Version/s 3.0.1 [ 12316945 ]
        Fix Version/s 3.1.0 [ 12316946 ]
        Fix Version/s 2.3.0 [ 12320554 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.2.11 [ 12323353 ]
        Fix Version/s 2.3.2 [ 12323383 ]
        Fix Version/s 3.0.1 [ 12316945 ]
        Fix Version/s 3.0.0 [ 12316040 ]
        Fix Version/s 2.3.1 [ 12321743 ]
        Fix Version/s 2.2.10 [ 12322541 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.2.12 [ 12324369 ]
        Fix Version/s 2.2.11 [ 12323353 ]
        Jamie goodyear made changes -
        Fix Version/s 2.3.3 [ 12324657 ]
        Fix Version/s 2.3.2 [ 12323383 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.4.0 [ 12323352 ]
        Fix Version/s 2.3.4 [ 12325003 ]
        Fix Version/s 2.3.3 [ 12324657 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.3.5 [ 12325886 ]
        Fix Version/s 2.3.4 [ 12325003 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 4.0.0 [ 12316946 ]
        Fix Version/s 3.0.2 [ 12326261 ]
        Fix Version/s 2.3.6 [ 12326726 ]
        Fix Version/s 3.0.1 [ 12316945 ]
        Fix Version/s 2.2.12 [ 12324369 ]
        Fix Version/s 2.3.5 [ 12325886 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.3.7 [ 12327382 ]
        Fix Version/s 2.3.6 [ 12326726 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.4.1 [ 12327360 ]
        Fix Version/s 2.4.0 [ 12323352 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 3.0.3 [ 12327341 ]
        Fix Version/s 2.3.8 [ 12328245 ]
        Fix Version/s 3.0.2 [ 12326261 ]
        Fix Version/s 2.3.7 [ 12327382 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.3.9 [ 12328659 ]
        Fix Version/s 2.3.8 [ 12328245 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.3.9 [ 12328659 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.4.2 [ 12329081 ]
        Fix Version/s 2.4.1 [ 12327360 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 3.0.4 [ 12329179 ]
        Fix Version/s 3.0.3 [ 12327341 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.4.3 [ 12332072 ]
        Fix Version/s 2.4.2 [ 12329081 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 3.0.5 [ 12332380 ]
        Fix Version/s 3.0.4 [ 12329179 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 4.0.0 [ 12332045 ]
        Fix Version/s 4.0.0.M3 [ 12316946 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 4.0.1 [ 12332798 ]
        Fix Version/s 4.0.0 [ 12332045 ]
        Jean-Baptiste Onofré made changes -
        Fix Version/s 2.4.4 [ 12332989 ]
        Fix Version/s 2.4.3 [ 12332072 ]
        Geert Schuring made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Unresolved [ 9 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        1349d 22h 59m 1 Geert Schuring 09/Jul/15 07:45

          People

          • Assignee:
            Unassigned
            Reporter:
            Geert Schuring
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development