Commons Math
  1. Commons Math
  2. MATH-180

Add support for OSGi to Commons Math

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.1
    • Fix Version/s: 1.2
    • Labels:
      None

      Description

      I saw mentioned that Commons Math 1.2 is on the horizon and it would be good to add support for OSGi. Is the release likely to be done using Maven1 or Maven2? I can provide a patch for either, but if its m2 then will probably hold off until nearer the release to see if we get anything done in the commons-parent pom.

        Activity

        Hide
        Niall Pemberton added a comment -

        I don't think so, I re-built math yesteray and checked that nothing had changed OSGi wise (and none of the commits since affect it) - so looks good to go from my PoV

        Show
        Niall Pemberton added a comment - I don't think so, I re-built math yesteray and checked that nothing had changed OSGi wise (and none of the commits since affect it) - so looks good to go from my PoV
        Hide
        Phil Steitz added a comment -

        Is there anything else we need to do on this before cutting math 1.2?

        Show
        Phil Steitz added a comment - Is there anything else we need to do on this before cutting math 1.2?
        Hide
        Niall Pemberton added a comment -

        I have configured the m2 build to add OSGi to the jar's manifest:
        http://svn.apache.org/viewvc?view=rev&revision=617551

        A few notes on this:

        • I did it manually adding manifest entries thru' the jar plugin configuration rather than the Felix bundleplugin. This was because the released bundleplugin adds alot of "uses" statements which when the next version of the bnd tool is available (Bnd 0.0.236) will not happen.
        • I did run the bundleplugin to check what it produced and used that as a basis to configure the manifest entires
        • Commons Logging is listed as a dependency, but only used thru' Commons Discovery. The bundleplugin didn't include it in the "import" statement, so I haven't either
        • Once we have a released commons parent with the bundleplugin configured we can remove the config I've added here for math
        Show
        Niall Pemberton added a comment - I have configured the m2 build to add OSGi to the jar's manifest: http://svn.apache.org/viewvc?view=rev&revision=617551 A few notes on this: I did it manually adding manifest entries thru' the jar plugin configuration rather than the Felix bundleplugin. This was because the released bundleplugin adds alot of "uses" statements which when the next version of the bnd tool is available (Bnd 0.0.236) will not happen. I did run the bundleplugin to check what it produced and used that as a basis to configure the manifest entires Commons Logging is listed as a dependency, but only used thru' Commons Discovery. The bundleplugin didn't include it in the "import" statement, so I haven't either Once we have a released commons parent with the bundleplugin configured we can remove the config I've added here for math
        Hide
        Luc Maisonobe added a comment -

        All packages can be used by end users.
        The only thing that should be kept away from distribution is the "mantissa" directory in the subversion repository which is only used as a code base for [math] developers. Some packages have already been transfered for 1.2 release, other packages will follow later, and still others will probably be dropped sometimes. This directory will therefore reduce as code is transfered to o.a.c.math and finally disappear. However I think this directory will be manually discarded when the release will be cut out and that the OSGi configuration in pom will never see it.

        Show
        Luc Maisonobe added a comment - All packages can be used by end users. The only thing that should be kept away from distribution is the "mantissa" directory in the subversion repository which is only used as a code base for [math] developers. Some packages have already been transfered for 1.2 release, other packages will follow later, and still others will probably be dropped sometimes. This directory will therefore reduce as code is transfered to o.a.c.math and finally disappear. However I think this directory will be manually discarded when the release will be cut out and that the OSGi configuration in pom will never see it.
        Hide
        Niall Pemberton added a comment -

        OK, once the RM and tool (m1 or m2) is decided we can then sort out OSGi. Are there any packages of Commons Math that are consider "for internal use" and not really for end-users? I ask because you can specify <Private-Package> for those parts in OSGi and AIUI these are then not available to other bundles which import Math.

        Show
        Niall Pemberton added a comment - OK, once the RM and tool (m1 or m2) is decided we can then sort out OSGi. Are there any packages of Commons Math that are consider "for internal use" and not really for end-users? I ask because you can specify <Private-Package> for those parts in OSGi and AIUI these are then not available to other bundles which import Math.
        Hide
        Luc Maisonobe added a comment -

        I hope 1.2 will be released soon, and I do my best for that. I think it would be better to use Maven2 now that it is up and runs like a charm (this is what I use), but I don't decide this. I am not able to be the release manager yet.
        I agree support for OSGi is definitely a good thing.

        Show
        Luc Maisonobe added a comment - I hope 1.2 will be released soon, and I do my best for that. I think it would be better to use Maven2 now that it is up and runs like a charm (this is what I use), but I don't decide this. I am not able to be the release manager yet. I agree support for OSGi is definitely a good thing.
        Show
        Niall Pemberton added a comment - P.S. See http://wiki.apache.org/commons/CommonsOsgi

          People

          • Assignee:
            Unassigned
            Reporter:
            Niall Pemberton
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development