Commons IO
  1. Commons IO
  2. IO-333

Export OSGi packages at version 1.x in addition to 2.x

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.4
    • Component/s: None
    • Labels:
      None

      Description

      As discussed on the list [1], I propose to export the provided packages twice, once with the default version being the project version and once with a
      version complying more with OSGi semantic versioning [2].

      I will attach proposed patch.

      There seems to be one single problematic change since the 1.4 release: IO-318.
      Strictly speaking this is an incompatible change because consumers would
      catch a different exception and thus would fail to handle exceptions correctly. But according to IO-318, this is rare.

      [1] http://markmail.org/message/x3bpi2qsudskqu2l
      [2] http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf

      1. IO-333.patch
        1.0 kB
        Felix Meschberger

        Activity

        Hide
        Felix Meschberger added a comment -

        Thanks for the quick turnaround. Tested and works.

        Show
        Felix Meschberger added a comment - Thanks for the quick turnaround. Tested and works.
        Hide
        Gary Gregory added a comment -

        Committed revision 1347766 using version 1.4.9999 for the first OSGi version.

        Show
        Gary Gregory added a comment - Committed revision 1347766 using version 1.4.9999 for the first OSGi version.
        Hide
        Gary Gregory added a comment -

        Committed revision 1347766.

        Show
        Gary Gregory added a comment - Committed revision 1347766.
        Hide
        Felix Meschberger added a comment -

        Proposed patch adding export at version 1.5 in addition to current project version.

        We have to explicitly list the packages due to how the BND library (used by the bundle plugin) creates the list of packages exported.

        So, this patch lists all packages already existing in the 1.4 release and exports it at 1.5. This accounts for new functionality built into those packages since 1.4.

        The list is duplicated for the regular export at the library version. In addition there is a pattern export to add all new packages in.

        This patch assumes the 2.x export is more correct and the 1.x export version is for backwards compatibility.

        Anyway going forward, proper semantic versioning should probably be applied to the exported packages and update the export version according to the changes.

        Show
        Felix Meschberger added a comment - Proposed patch adding export at version 1.5 in addition to current project version. We have to explicitly list the packages due to how the BND library (used by the bundle plugin) creates the list of packages exported. So, this patch lists all packages already existing in the 1.4 release and exports it at 1.5. This accounts for new functionality built into those packages since 1.4. The list is duplicated for the regular export at the library version. In addition there is a pattern export to add all new packages in. This patch assumes the 2.x export is more correct and the 1.x export version is for backwards compatibility. Anyway going forward, proper semantic versioning should probably be applied to the exported packages and update the export version according to the changes.

          People

          • Assignee:
            Unassigned
            Reporter:
            Felix Meschberger
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development