Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-1906

Make App's IGB dependencies more liberal

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:

      Description

      Our current IGB Apps can use IGB platform bundles 9.0.1 or higher.

      Most likely these same Apps will be able to tolerate anything higher than this, including future IGB versions 10.0.0+ and above.

      However, we are declaring that these Apps required 9.0.1 or higher but less than 10. This is overly strict.

      Let's modify project POMs for IGB Apps to allow 9.0.1 or higher without an upper bound.

      This Web page explains how to do this:

      Note: Everyone in the Loraine Lab Developers group in Bitbucket has write permission to these repositories. Please use the fork-and-branch workflow (same as with main IGB project), but feel free to merge your own pull requests.

        Attachments

          Issue Links

            Activity

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - - edited [~aloraine] I have made the changes for one of the apps. Kindly review and let me know if it is fine to proceed with other apps as well. https://bitbucket.org/noorzahara/23andme-snp-converter-local/branch/IGBF-1906#diff https://bitbucket.org/noorzahara/merge-annotation-operator-local/branch/IGBF-1906#diff https://bitbucket.org/noorzahara/protannot-local/branch/IGBF-1906#diff https://bitbucket.org/noorzahara/command-socket-local/branch/IGBF-1906#diff https://bitbucket.org/noorzahara/geometric-mean-operator-local/branch/IGBF-1906#diff
            Hide
            ann.loraine Ann Loraine added a comment -

            I am not sure if this is the correct syntax or not. It looks OK...but...I'm no expert!

            • To check it, build the App, open the jar file and review the manifest. Also, look at the repository.xml that is generated.
            • Edit the POM to state a dependency on 8 or above, with no limit. If the App is still recognized by IGB App Manager GUI from version 9.0.2 or above, then it's probably working as expected.
            • Consult the OSGi In Action book for confirmation that you're seeing the right effects in the manifest (Sameer, Charan and others have copies they can share with you if you don't already have it)
            Show
            ann.loraine Ann Loraine added a comment - I am not sure if this is the correct syntax or not. It looks OK...but...I'm no expert! To check it, build the App, open the jar file and review the manifest. Also, look at the repository.xml that is generated. Edit the POM to state a dependency on 8 or above, with no limit. If the App is still recognized by IGB App Manager GUI from version 9.0.2 or above, then it's probably working as expected. Consult the OSGi In Action book for confirmation that you're seeing the right effects in the manifest (Sameer, Charan and others have copies they can share with you if you don't already have it)
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment - - edited

            The App is being detected by IGB App Manager GUI.

            Have changed the pom in such a way that all the Apps will support IGB version >= 9.1.0

            The way to test:

            Upload the jar link to Preferences->Add Repositories and check if IGB recognizes the App.

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - - edited The App is being detected by IGB App Manager GUI. Have changed the pom in such a way that all the Apps will support IGB version >= 9.1.0 The way to test: Upload the jar link to Preferences->Add Repositories and check if IGB recognizes the App.
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            The current syntax i have followed is taking a long time to get added to the bundle list and also once it is added, it is not getting installed.

            So I did a bit of a research and found another way.

            https://stackoverflow.com/questions/48445913/how-can-i-import-a-package-at-any-version-greater-than-or-equal-to-1-0-0-in-osgi?answertab=active#tab-top

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - The current syntax i have followed is taking a long time to get added to the bundle list and also once it is added, it is not getting installed. So I did a bit of a research and found another way. https://stackoverflow.com/questions/48445913/how-can-i-import-a-package-at-any-version-greater-than-or-equal-to-1-0-0-in-osgi?answertab=active#tab-top
            Hide
            ann.loraine Ann Loraine added a comment -

            Above URL links to:
            https://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.M01/docs/virgo-user-guide/html/ch02s02.html

            Quoting from above:

            "Version Ranges
            Dependencies on bundles and packages have an associated version range which is specified using an interval notation: a square bracket “[” or “]” denotes an inclusive end of the range and a round bracket “(” or “)” denotes an exclusive end of the range. Where one end of the range is to be included and the other excluded, it is permitted to pair a round bracket with a square bracket. The examples below make this clear.

            If a single version number is used where a version range is required this does not indicate a single version, but the range starting from that version and including all higher versions.

            There are three common cases:

            A “strict” version range, such as [1.2,1.2], which denotes that version and only that version.

            A “half-open” range, such as [1.2,2), which has an inclusive lower limit and an exclusive upper limit, denoting version 1.2.0 and any version after this, up to, but not including, version 2.0.0.

            An “unbounded” version range, such as 1.2, which denotes version 1.2 and all later versions.
            "

            Show
            ann.loraine Ann Loraine added a comment - Above URL links to: https://www.eclipse.org/virgo/documentation/virgo-documentation-3.7.0.M01/docs/virgo-user-guide/html/ch02s02.html Quoting from above: "Version Ranges Dependencies on bundles and packages have an associated version range which is specified using an interval notation: a square bracket “ [” or “] ” denotes an inclusive end of the range and a round bracket “(” or “)” denotes an exclusive end of the range. Where one end of the range is to be included and the other excluded, it is permitted to pair a round bracket with a square bracket. The examples below make this clear. If a single version number is used where a version range is required this does not indicate a single version, but the range starting from that version and including all higher versions. There are three common cases: A “strict” version range, such as [1.2,1.2] , which denotes that version and only that version. A “half-open” range, such as [1.2,2), which has an inclusive lower limit and an exclusive upper limit, denoting version 1.2.0 and any version after this, up to, but not including, version 2.0.0. An “unbounded” version range, such as 1.2, which denotes version 1.2 and all later versions. "
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Noor Zahara, I tried building and installing all of the apps in IGB. Because of the latest change, the IGB is able to detect the app and is able to install it. You can submit a pull request for the same.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Noor Zahara , I tried building and installing all of the apps in IGB. Because of the latest change, the IGB is able to detect the app and is able to install it. You can submit a pull request for the same.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Functional testing has been done for the same. Everything is working as expected. Moving the ticket to done.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Functional testing has been done for the same. Everything is working as expected. Moving the ticket to done.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Note added in 2024:

            For the definitive documentation as to the meaning of a single version number in Import-Package, see:

            https://docs.osgi.org/specification/osgi.core/8.0.0/framework.module.html#framework.module.importpackage
            and
            https://docs.osgi.org/specification/osgi.core/8.0.0/framework.module.html#i3189032

            The second link gives an example version of 1.2.3 and indicates this means any version 1.2.3 or higher satisfies the requirement.

            Show
            ann.loraine Ann Loraine added a comment - - edited Note added in 2024: For the definitive documentation as to the meaning of a single version number in Import-Package, see: https://docs.osgi.org/specification/osgi.core/8.0.0/framework.module.html#framework.module.importpackage and https://docs.osgi.org/specification/osgi.core/8.0.0/framework.module.html#i3189032 The second link gives an example version of 1.2.3 and indicates this means any version 1.2.3 or higher satisfies the requirement.

              People

              • Assignee:
                noor91zahara Noor Zahara (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: