Status: Closed (View Workflow)
Affects Version/s: None
Fix Version/s: 9.1.0 Major Release
Sprint:Summer 2019 Sprint 8, Summer 2019 Sprint 9, Summer 2019 Sprint 10, Summer 2019 Sprint 11
For details see:
Investigate bundle resolution error involving htsjdk-igb
This requires understanding OSGi and how bundle dependencies get resolved during bundle installation and activation.
Also, review how we made htsjdk-igb bundle in the first place by looking at linked Jira issues.
Probably we have to make some changes to how we generate that bundle?
Potentially useful resources:
- Wrapping libraries to OSGi bundles https://bnd.bndtools.org/chapters/390-wrapping.html
- Playing with Apache karaf - tool you can use to test installing bundles (note our bundle is a library and doesn't have an "activate" method, which is a bit like a "main" method in Java application) https://www.javaindeed.com/playing-with-apache-karaf-console/
Please add more as you work on this.
When done, please write up a short, plain English description of what you did to fix the problem. (This can be a useful case study to introduce devs to OSGi in IGB.)
Our build.gradle file is using plugin osgi.
we should biz.aQute.bnd.builder plugin instead.
The above link contains example syntax for adding stuff to the MANIFEST.
According to my understanding jexl2 is used by htsjdk-igb (htsjdk.variant.variantcontext). Does it mean we cannot keep jexl2 as optional or am I wrong?
htsjdk.variant.variantcontext is extensively using jexl.
jexl is used in below java files.
Now the issue is htsjdk is exporting (2.16.2) and importing(2.16.3) the same library. I will look into it.
htsjdk requires below jar to remove bundle resolution error. I manually downloaded this jar and copied them in /bundles.
jexl requires below jar to remove bundle resolution error. I manually downloaded this jar and copied them in /bundles.
I manually copied these two jars in /bundles to remove bundle resolution error and now IGB runs without any error. These two jars should be downloaded from pom.xml (Maven). But for some reason maven is not downloading these jars even after providing dependencies.