Details

      Description

      Now that all declarative services in IGB has been migrated to osgi.annotations as of IGBF-3414, the next step to migrate the project J11 requires maven-bundleplugin to be updated.

        Attachments

          Issue Links

            Activity

            karthik Karthik Raveendran created issue -
            karthik Karthik Raveendran made changes -
            Field Original Value New Value
            Epic Link IGBF-3411 [ 22434 ]
            karthik Karthik Raveendran made changes -
            Description Now that all declarative services in IGB has been migrated to osgi.annotations, the next step to migrate the project J11 requires maven-bundleplugin to be updated. Now that all declarative services in IGB has been migrated to osgi.annotations as of IGBF-3414, the next step to migrate the project J11 requires maven-bundleplugin to be updated.
            karthik Karthik Raveendran made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            karthik Karthik Raveendran added a comment -

            Updating maven-bundle-plugin from version 3.0.0 to version 4.0.0 (latest update being 5.1.9, Mar 2023), bundles with <Service-Component>*<Service-Component> in the pom file required that this line to be removed because using * has deprecated. However, updating it to 4.2.1 has no problems except for runtime issues same as updating to 5.1.9. These errors seem to becaused by an unresolved requirement of osgi.component in genometry.

            Show
            karthik Karthik Raveendran added a comment - Updating maven-bundle-plugin from version 3.0.0 to version 4.0.0 (latest update being 5.1.9, Mar 2023), bundles with <Service-Component>*<Service-Component> in the pom file required that this line to be removed because using * has deprecated. However, updating it to 4.2.1 has no problems except for runtime issues same as updating to 5.1.9. These errors seem to becaused by an unresolved requirement of osgi.component in genometry.
            Hide
            nfreese Nowlan Freese added a comment -

            The main issue seems to be a requirement for osgi.extender=osgi.component)(&(version>=1.5.0). The osgi.extender=osgi.component is provided by org.apache.felix.scr, however, only the more recent versions of org.apache.felix.scr provide osgi.extender=osgi.component version of 1.5 (our current version provides 1.3). However, the more recent version of org.apache.felix.scr requires org.osgi.framework. Adding org.osgi.framework then causes a dependency chain issue because org.apache.felix.main also provides framework.

            At this time we are currently pursuing multiple options for resolving this issue. What is odd to me is that maven-bundle-plugin shouldn't have this requirement for osgi.extender=osgi.component, as we can update maven-bundle-plugin to the newest version in an app (protannot for example) without any issues, and it runs in IGB.

            Show
            nfreese Nowlan Freese added a comment - The main issue seems to be a requirement for osgi.extender=osgi.component)(&(version>=1.5.0). The osgi.extender=osgi.component is provided by org.apache.felix.scr, however, only the more recent versions of org.apache.felix.scr provide osgi.extender=osgi.component version of 1.5 (our current version provides 1.3). However, the more recent version of org.apache.felix.scr requires org.osgi.framework. Adding org.osgi.framework then causes a dependency chain issue because org.apache.felix.main also provides framework. At this time we are currently pursuing multiple options for resolving this issue. What is odd to me is that maven-bundle-plugin shouldn't have this requirement for osgi.extender=osgi.component, as we can update maven-bundle-plugin to the newest version in an app (protannot for example) without any issues, and it runs in IGB.
            Hide
            nfreese Nowlan Freese added a comment - - edited

            In the modules that are not active, this is what I am seeing in the manifest (from the felix console):

            Manifest-Version: 1.0
            Provide-Capability: osgi.service; objectClass:List<String>="com.affymetrix.igb.external.UCSCViewAction, org.lorainelab.igb.menu.api.MenuBarEntryProvider", osgi.service; objectClass:List<String>="org.lorainelab.igb.services.window.tabs.IgbTabPanelI"
            Require-Capability: osgi.extender; filter:="(&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0)))", osgi.service; filter:="(objectClass=com.affymetrix.igb.external.UCSCViewAction)"; effective:=active, osgi.service; filter:="(objectClass=org.lorainelab.igb.menu.api.MenuItemEventService)"; effective:=active, osgi.service; filter:="(objectClass=org.lorainelab.igb.services.IgbService)"; effective:=active, osgi.service; filter:="(objectClass=org.lorainelab.igb.synonymlookup.services.GenomeVersionSynonymLookup)"; effective:=active, osgi.extender; filter:="(&(osgi.extender=osgi.component)(&(version>=1.5.0)(!(version>=2.0.0))))", osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))"
            

            Note that the osgi.extender=osgi.component is appearing twice, one with a required version of 1.3.0 and one with 1.5.0. This is the same in all of the modules I have looked at that are not loading when attempting to run IGB. I'm not sure why this requirement is appearing due to changing the maven-bundle-plugin from version 3.5.1 to 4.0.0.

            Compare this to the manifest from a working version of IGB:

            Capability "osgi.extender" with directives filter=(&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0))) (provided by org.apache.felix.scr (61))
            Capability "osgi.ee" with directives filter=(&(osgi.ee=JavaSE)(version=1.8)) (provided by org.apache.felix.framework (0))
            
            Show
            nfreese Nowlan Freese added a comment - - edited In the modules that are not active, this is what I am seeing in the manifest (from the felix console): Manifest-Version: 1.0 Provide-Capability: osgi.service; objectClass:List< String >= "com.affymetrix.igb.external.UCSCViewAction, org.lorainelab.igb.menu.api.MenuBarEntryProvider" , osgi.service; objectClass:List< String >= "org.lorainelab.igb.services.window.tabs.IgbTabPanelI" Require-Capability: osgi.extender; filter:= "(&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0)))" , osgi.service; filter:= "(objectClass=com.affymetrix.igb.external.UCSCViewAction)" ; effective:=active, osgi.service; filter:= "(objectClass=org.lorainelab.igb.menu.api.MenuItemEventService)" ; effective:=active, osgi.service; filter:= "(objectClass=org.lorainelab.igb.services.IgbService)" ; effective:=active, osgi.service; filter:= "(objectClass=org.lorainelab.igb.synonymlookup.services.GenomeVersionSynonymLookup)" ; effective:=active, osgi.extender; filter:= "(&(osgi.extender=osgi.component)(&(version>=1.5.0)(!(version>=2.0.0))))" , osgi.ee; filter:= "(&(osgi.ee=JavaSE)(version=1.8))" Note that the osgi.extender=osgi.component is appearing twice, one with a required version of 1.3.0 and one with 1.5.0. This is the same in all of the modules I have looked at that are not loading when attempting to run IGB. I'm not sure why this requirement is appearing due to changing the maven-bundle-plugin from version 3.5.1 to 4.0.0. Compare this to the manifest from a working version of IGB: Capability "osgi.extender" with directives filter=(&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0))) (provided by org.apache.felix.scr (61)) Capability "osgi.ee" with directives filter=(&(osgi.ee=JavaSE)(version=1.8)) (provided by org.apache.felix.framework (0))
            Show
            nfreese Nowlan Freese added a comment - https://github.com/Netcentric/accesscontroltool/issues/433
            Hide
            nfreese Nowlan Freese added a comment - - edited

            Downgrading org.osgi.service.component.annotations to version 1.3 and setting the scope to provided resolves the issue. Versions greater than 1.4 are breaking the declarative services for some reason (note that versions greater than 1.4 are not compile time only). Can now upgrade maven-bundle-plugin to 5.1.9. Not sure how to resolve issue with newer versions of org.osgi.service.component.annotations at this time.

            Show
            nfreese Nowlan Freese added a comment - - edited Downgrading org.osgi.service.component.annotations to version 1.3 and setting the scope to provided resolves the issue. Versions greater than 1.4 are breaking the declarative services for some reason (note that versions greater than 1.4 are not compile time only). Can now upgrade maven-bundle-plugin to 5.1.9. Not sure how to resolve issue with newer versions of org.osgi.service.component.annotations at this time.
            nfreese Nowlan Freese made changes -
            Assignee Karthik Raveendran [ karthik ] Nowlan Freese [ nfreese ]
            Show
            nfreese Nowlan Freese added a comment - Branch: https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-3431
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ] Karthik Raveendran [ karthik ]
            nfreese Nowlan Freese made changes -
            Link This issue blocks IGBF-3433 [ IGBF-3433 ]
            ann.loraine Ann Loraine made changes -
            Sprint Fall 1 - Sep 5 [ 82 ] Fall 1 - Sep 5, Fall 2 2023 Sep 17 [ 82, 178 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Assignee Karthik Raveendran [ karthik ] Nowlan Freese [ nfreese ]
            nfreese Nowlan Freese made changes -
            Story Points 2 3
            nfreese Nowlan Freese made changes -
            Link This issue blocks IGBF-3451 [ IGBF-3451 ]
            Hide
            nfreese Nowlan Freese added a comment - - edited

            I have rebased 3431 onto main-JDK8 for testing. I can find no issues when running my branch through the jar file, all bundles are listed as active in the felix web console. However, when I run the branch through the debugger in Netbeans, the org.osgi.service.component.annotations bundle is listed as installed. Version 1.3 of org.osgi.service.component.annotations must be set to provided (possibly also compile) as it cannot be set to runtime. This may be what is causing the bundle to be listed as installed in debug mode, but I am not sure. However, I have been using debug mode extensively, and have come across no issues. Apps install and run normally, and all other IGB functionality appears to be working.

            I suggest that we merge IGBF-3431 with main-JDK8-r6. It may be possible to resolve/fix the issue with version 1.3 of org.osgi.service.component.annotations in the future, but at this time everything in IGB appears to be working, and this will allow us to proceed with the Java 11 work.

            Show
            nfreese Nowlan Freese added a comment - - edited I have rebased 3431 onto main-JDK8 for testing. I can find no issues when running my branch through the jar file, all bundles are listed as active in the felix web console. However, when I run the branch through the debugger in Netbeans, the org.osgi.service.component.annotations bundle is listed as installed. Version 1.3 of org.osgi.service.component.annotations must be set to provided (possibly also compile) as it cannot be set to runtime. This may be what is causing the bundle to be listed as installed in debug mode, but I am not sure. However, I have been using debug mode extensively, and have come across no issues. Apps install and run normally, and all other IGB functionality appears to be working. I suggest that we merge IGBF-3431 with main-JDK8-r6. It may be possible to resolve/fix the issue with version 1.3 of org.osgi.service.component.annotations in the future, but at this time everything in IGB appears to be working, and this will allow us to proceed with the Java 11 work.
            Hide
            karthik Karthik Raveendran added a comment -

            After including these changes in main-JDK8-r6, I tested it with no errors.

            Show
            karthik Karthik Raveendran added a comment - After including these changes in main-JDK8-r6, I tested it with no errors.
            karthik Karthik Raveendran made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            karthik Karthik Raveendran made changes -
            Assignee Nowlan Freese [ nfreese ] Karthik Raveendran [ karthik ]
            karthik Karthik Raveendran made changes -
            Assignee Karthik Raveendran [ karthik ]
            nfreese Nowlan Freese made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            nfreese Nowlan Freese made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            Show
            nfreese Nowlan Freese added a comment - [~aloraine] - Pull request: https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/949
            nfreese Nowlan Freese made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            nfreese Nowlan Freese made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            Hide
            nfreese Nowlan Freese added a comment -

            Tested using main-JDK8.dmg installer on Mac. IGB installed and ran correctly.

            Closing ticket.

            Show
            nfreese Nowlan Freese added a comment - Tested using main-JDK8.dmg installer on Mac. IGB installed and ran correctly. Closing ticket.
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ]
            nfreese Nowlan Freese made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            nfreese Nowlan Freese made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ] Karthik Raveendran [ karthik ]
            pkulzer Paige Kulzer made changes -
            Fix Version/s 10.0.0 Major Release [ 10900 ]
            nfreese Nowlan Freese made changes -
            Issue Type Task [ 3 ] Improvement [ 4 ]

              People

              • Assignee:
                karthik Karthik Raveendran
                Reporter:
                karthik Karthik Raveendran
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: