Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      1
    • Sprint:
      Fall 2018 Sprint 3, Fall 2018 Sprint 4

      Description

      We are now using packages from htsjdk artifact in the IGB project. However, there is a problem. It is not an OSGi bundle. To handle this, we are now importing the htsjdk into the "shared-lib-wrapper" module of IGB project. The pom.xml file of this module uses the BND-tool maven plug-in to packages htsjdk along with many other completely unrelated artifacts into one large bundle, which then gets loaded into the OSGi run-time along with all the other bundles that make up the IGB application.

      This is not ideal. Maintaining the "shared-lib-wrapper" module is made extra complicated by this approach. For example, if some of these libraries rely on different versions of the same artifact, the approach won't work.

      To simplify our codebase, we should transform these 3rd-party jar artifacts into proper OSGi bundles.

      To do this, let's "fork" the htsjdk library and modify/enhance their build process to create a proper OSGi bundle.

      Following this, we should add it to our nexus maven repository (https://nexus.bioviz.org) so that the new htsjdk OSGi bundle is available to IGB developers.

        Attachments

          Issue Links

            Activity

            Hide
            ann.loraine Ann Loraine added a comment - - edited

            I merged a pull request from Srishti's branch https://github.com/srishti-tiwari/htsjdk/tree/igb-2.16.1 into https://github.com/lorainelab/htsjdk/tree/igb-2.16.1

            IGB-friendly htsjdk-igb artifact is now uploaded to https://nexus.bioviz.org/repository/maven-releases/ with coordinates:

            <groupId>htsjdk-igb</groupId>
            <artifactId>htsjdk-igb</artifactId>
            <version>2.16.1</version>
            <packaging>bundle</packaging>

            Show
            ann.loraine Ann Loraine added a comment - - edited I merged a pull request from Srishti's branch https://github.com/srishti-tiwari/htsjdk/tree/igb-2.16.1 into https://github.com/lorainelab/htsjdk/tree/igb-2.16.1 IGB-friendly htsjdk-igb artifact is now uploaded to https://nexus.bioviz.org/repository/maven-releases/ with coordinates: <groupId>htsjdk-igb</groupId> <artifactId>htsjdk-igb</artifactId> <version>2.16.1</version> <packaging>bundle</packaging>
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            I uploaded the artifact manually using the Nexus GUI. However, a checksum did not get generated for the artifact. This is a issue with Nexus, which has been fixed in newer versions.

            I will upgrade Nexus, but for now, let's add code to the build.gradle file to upload the artifacts. If we do this, the checksum will be generated & included in the upload. Let's also upload the source code.

            For details, see my comment on https://jira.transvar.org/browse/IGBF-1419.

            Note: I re-opened IGBF-1419 pending fix of this issue.

            Show
            ann.loraine Ann Loraine added a comment - - edited I uploaded the artifact manually using the Nexus GUI. However, a checksum did not get generated for the artifact. This is a issue with Nexus, which has been fixed in newer versions. I will upgrade Nexus, but for now, let's add code to the build.gradle file to upload the artifacts. If we do this, the checksum will be generated & included in the upload. Let's also upload the source code. For details, see my comment on https://jira.transvar.org/browse/IGBF-1419 . Note: I re-opened IGBF-1419 pending fix of this issue.
            Hide
            stiwari8 Srishti Tiwari (Inactive) added a comment -

            I added the changes to upload archive using build.gradle. The checksum is getting generated when the artifacts are uploaded to the test repository.
            Please refer:
            https://nexus.bioviz.org/repository/Test_IGB_Artifact_Deployment/

            Show
            stiwari8 Srishti Tiwari (Inactive) added a comment - I added the changes to upload archive using build.gradle. The checksum is getting generated when the artifacts are uploaded to the test repository. Please refer: https://nexus.bioviz.org/repository/Test_IGB_Artifact_Deployment/
            Hide
            stiwari8 Srishti Tiwari (Inactive) added a comment -

            Created a pull request:

            https://github.com/lorainelab/htsjdk/pull/3

            Kindly review.

            Show
            stiwari8 Srishti Tiwari (Inactive) added a comment - Created a pull request: https://github.com/lorainelab/htsjdk/pull/3 Kindly review.
            Hide
            stiwari8 Srishti Tiwari (Inactive) added a comment -

            Please refer to this link :
            https://github.com/gradle/gradle/issues/6849
            Since this Gradle issue is still open, we need to do a workaround, untill the above issue is fixed.
            So I added a dummy scala file just to get the build work successfully. This needs to be removed when the issue is fixed in Gradle.
            Please try following commands:
            > gradle jar
            > gradle uploadArchives

            Show
            stiwari8 Srishti Tiwari (Inactive) added a comment - Please refer to this link : https://github.com/gradle/gradle/issues/6849 Since this Gradle issue is still open, we need to do a workaround, untill the above issue is fixed. So I added a dummy scala file just to get the build work successfully. This needs to be removed when the issue is fixed in Gradle. Please try following commands: > gradle jar > gradle uploadArchives

              People

              • Assignee:
                stiwari8 Srishti Tiwari (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: