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

Package OBR index repository.xml with the App bundle jar

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
    • Story Points:
      1.5
    • Sprint:
      Summer 2019 Sprint 11, Summer 2019 Sprint 12, Fall 6 : 28 Oct to 8 Nov, Fall 7 : 11 Nov to 22 Nov, Fall 8 : 25 Nov to 6 Dec, Fall 9 : 9 Dec to 20 Dec, Spring 1 : 25 Dec to 17 Jan

      Description

      We need to package the Repository.xml in all the Application Jar so that it can be directly used to generate the OBR XML on the Appstore and will support all the format that OSGi Supports

        Attachments

          Issue Links

            Activity

            Hide
            ann.loraine Ann Loraine added a comment -

            PRs merged from above.

            Show
            ann.loraine Ann Loraine added a comment - PRs merged from above.
            Show
            prutha Prutha Kulkarni (Inactive) added a comment - PR submitted for the same. can be found at: https://bitbucket.org/lorainelab/merge-annotation-operator/pull-requests/11/igbf-1931/diff https://bitbucket.org/lorainelab/protannot/pull-requests/9/igbf-1931/diff https://bitbucket.org/lorainelab/super-simple-igb-app/pull-requests/8/igbf-1931/diff https://bitbucket.org/lorainelab/command-socket/pull-requests/14/igbf-1931-package-obr-index-file-with-app/diff https://bitbucket.org/lorainelab/geometric-mean-operator/pull-requests/9/igbf-1931/diff https://bitbucket.org/lorainelab/23andme-snp-converter/pull-requests/8/igbf-1931-package-obr-index-file-with-app/diff https://bitbucket.org/lorainelab/development-apps/pull-requests/3/igbf-1931/diff
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Prof. [~aloraine], changed it to public now.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Prof. [~aloraine] , changed it to public now.
            Hide
            ann.loraine Ann Loraine added a comment -
            Show
            ann.loraine Ann Loraine added a comment - Sorry, https://bitbucket.org/pkulka10/prutha_23andme-snp-converter/src/IGBF-1931/ appears to be private.
            Hide
            ann.loraine Ann Loraine added a comment -

            Thank you. Please submit PR when you are ready.

            Show
            ann.loraine Ann Loraine added a comment - Thank you. Please submit PR when you are ready.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            So, I changed the POMs & bitbucket configuration file.
            Code changes for the apps are present at following locations:
            https://bitbucket.org/pkulka10/simple-igb-app/src/IGBF-1931/
            https://bitbucket.org/pkulka10/prutha_mergeannotoperator/src/IGBF-1931/
            https://bitbucket.org/pkulka10/prutha_protannot/src/IGBF-1931/
            https://bitbucket.org/pkulka10/prutha_command-socket/src/IGBF-1931/
            https://bitbucket.org/pkulka10/prutha_geometric-mean/src/IGBF-1931/
            https://bitbucket.org/pkulka10/prutha_23andme-snp-converter/src/IGBF-1931/
            https://bitbucket.org/pkulka10/development-apps/src/IGBF-1931/
            There was a problem if we use mvn package in a multi module project like this. It was not able to write resources information into the OBR index file and when I changed it to mvn install it works fine. Keeping "BuildAllPlugins" custom configuration as it is.
            Everything is working fine with these changes. Changed the pom for packaging resources into the application jar, changed the docker image and mvn install to mvn package in the pipeline configuration. Also left those imports as it is.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - So, I changed the POMs & bitbucket configuration file. Code changes for the apps are present at following locations: https://bitbucket.org/pkulka10/simple-igb-app/src/IGBF-1931/ https://bitbucket.org/pkulka10/prutha_mergeannotoperator/src/IGBF-1931/ https://bitbucket.org/pkulka10/prutha_protannot/src/IGBF-1931/ https://bitbucket.org/pkulka10/prutha_command-socket/src/IGBF-1931/ https://bitbucket.org/pkulka10/prutha_geometric-mean/src/IGBF-1931/ https://bitbucket.org/pkulka10/prutha_23andme-snp-converter/src/IGBF-1931/ https://bitbucket.org/pkulka10/development-apps/src/IGBF-1931/ There was a problem if we use mvn package in a multi module project like this. It was not able to write resources information into the OBR index file and when I changed it to mvn install it works fine. Keeping "BuildAllPlugins" custom configuration as it is. Everything is working fine with these changes. Changed the pom for packaging resources into the application jar, changed the docker image and mvn install to mvn package in the pipeline configuration. Also left those imports as it is.
            Hide
            ann.loraine Ann Loraine added a comment -

            A correction to above request regarding javax imports:

            I'm not sure if a bundle can run if there is no explicit export of javax* packages. The OSGi run-time may need to be explicitly configured to include such packages on its classpath, which it can do because it should have access to any JDK packages available to the JRE. But the run-time may not expose that classpath to individual bundles. Also, it is possible that different runtimes have different behavior if the specification is not clear on this. So, for now, I think it is OK to leave such imports in place.

            Show
            ann.loraine Ann Loraine added a comment - A correction to above request regarding javax imports: I'm not sure if a bundle can run if there is no explicit export of javax* packages. The OSGi run-time may need to be explicitly configured to include such packages on its classpath, which it can do because it should have access to any JDK packages available to the JRE. But the run-time may not expose that classpath to individual bundles. Also, it is possible that different runtimes have different behavior if the specification is not clear on this. So, for now, I think it is OK to leave such imports in place.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Sure Prof. [~aloraine]. I'll work on the changes and try to finish it asap.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Sure Prof. [~aloraine] . I'll work on the changes and try to finish it asap.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            The second repo gave me an error when I tried to visit in bitbucket. (Maybe the repo is marked as private?)
            One thing I would mention is I don't think you need a space between "," and the maven-resources variable. If yes, I think it would be good to remove it.
            Also, please update the bitbucket pipelines files to use the new Docker image.
            To answer your question about the Development plugins – yes please update those as well.

            Show
            ann.loraine Ann Loraine added a comment - - edited The second repo gave me an error when I tried to visit in bitbucket. (Maybe the repo is marked as private?) One thing I would mention is I don't think you need a space between "," and the maven-resources variable. If yes, I think it would be good to remove it. Also, please update the bitbucket pipelines files to use the new Docker image. To answer your question about the Development plugins – yes please update those as well.
            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Prof. [~aloraine] , I have made the necessary changes to the POM files of IGB apps in order to package resources along with OBR xml in the application jar. Below are the links to the changes: https://bitbucket.org/pkulka10/simple-igb-app/commits/fb72584585459153e6c042a15eb1546f3deb210f https://bitbucket.org/pkulka10/prutha_23andme-snp-converter/commits/a1649c756621e8c5a218c869030442c584854127 https://bitbucket.org/pkulka10/prutha_geometric-mean/commits/2d1a4eeb97c1ee79958e7609f111df8801d2e709 https://bitbucket.org/pkulka10/prutha_command-socket/commits/a8c1a2f6b67783a654d74b2679e72f06a3b1ed7f https://bitbucket.org/pkulka10/prutha_mergeannotoperator/commits/95f74847885c8f28010d95cd63ceaff8697b0f42 https://bitbucket.org/pkulka10/prutha_protannot/commits/48c1da827770127028a2f0e950c25b41f1737bba I just wanted to know we we should change the development plugin POMs also? Please let me know. Thanks.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            [~aloraine] - Sure ma'am. Please let me know when you're free so that I can come upstairs for the discussion.
            Thanks.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - [~aloraine] - Sure ma'am. Please let me know when you're free so that I can come upstairs for the discussion. Thanks.
            Hide
            ann.loraine Ann Loraine added a comment -

            Yes, I think an uniform format is highly desirable - for POM.xml and then also possibly for the bitbucket_pipelines.yml. (It will be simpler
            Maybe we can meet up up today to talk about what that would look like?
            Once we figure out what we want, we can then fix up all the existing Apps.
            After that (or possibly before?) we can make a mvn archetype. I've never created a mvn archetype but it's supposed to be a very easy-to-use approach to creating new projects that will configure everything properly from the start. It may be possible to apply a mvn archetype retro-actively on an existing project, but I am not sure about that.

            Show
            ann.loraine Ann Loraine added a comment - Yes, I think an uniform format is highly desirable - for POM.xml and then also possibly for the bitbucket_pipelines.yml. (It will be simpler Maybe we can meet up up today to talk about what that would look like? Once we figure out what we want, we can then fix up all the existing Apps. After that (or possibly before?) we can make a mvn archetype. I've never created a mvn archetype but it's supposed to be a very easy-to-use approach to creating new projects that will configure everything properly from the start. It may be possible to apply a mvn archetype retro-actively on an existing project, but I am not sure about that.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Prof. [~aloraine], I have found a few issues with the POMs, MANIFESTs and the packages that are getting imported in all of the IGB apps.
            The command socket app has one repo link which should be https instead of http. And, there are 2 apps for which the packages that are already a part JDK are being listed in the MANIFEST.
            There are 2-3 app repos which has a .gitignore file. I am not sure if should leave it as it is or we should remove that.
            Also, there are 3 apps for which the contents of main/resources folder is not getting packaged in the JARs.
            I wanted to request something. Can we have a uniform format for the repository.xml as well the the main/resources folder inclusion? Every POM has a different way of including these things in the JAR i.e. one is packaging all the contents main/resources folder whereas, the other one has a specific resource mentioned which is getting packaged in the JAR. If we could update the POMs following a uniform format then that would make the POMs easy to read and understand even for the person who has not worked on it before.
            Please let me know your thoughts on this.
            Thanks.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Prof. [~aloraine] , I have found a few issues with the POMs, MANIFESTs and the packages that are getting imported in all of the IGB apps. The command socket app has one repo link which should be https instead of http. And, there are 2 apps for which the packages that are already a part JDK are being listed in the MANIFEST. There are 2-3 app repos which has a .gitignore file. I am not sure if should leave it as it is or we should remove that. Also, there are 3 apps for which the contents of main/resources folder is not getting packaged in the JARs. I wanted to request something. Can we have a uniform format for the repository.xml as well the the main/resources folder inclusion? Every POM has a different way of including these things in the JAR i.e. one is packaging all the contents main/resources folder whereas, the other one has a specific resource mentioned which is getting packaged in the JAR. If we could update the POMs following a uniform format then that would make the POMs easy to read and understand even for the person who has not worked on it before. Please let me know your thoughts on this. Thanks.
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            Sure ma'am. I will review the POM, JAR and JARs MANIFEST contents and will let you know if there is any problem with that.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - Sure ma'am. I will review the POM, JAR and JARs MANIFEST contents and will let you know if there is any problem with that.
            Hide
            ann.loraine Ann Loraine added a comment -

            A lot of changes have been made since August. We need to review POM, jar contents, and jar MANIFEST.MF for each App to ensure

            • repository.xml is included
            • POM is configured correctly to include any resources present in main/resources in addition to repository.xml
            • packages that are already part of the JDK (e.g., swing) are NOT getting listed in MANIFEST.MF
            • nothing is getting exported
            Show
            ann.loraine Ann Loraine added a comment - A lot of changes have been made since August. We need to review POM, jar contents, and jar MANIFEST.MF for each App to ensure repository.xml is included POM is configured correctly to include any resources present in main/resources in addition to repository.xml packages that are already part of the JDK (e.g., swing) are NOT getting listed in MANIFEST.MF nothing is getting exported
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            It is working as expected.

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - It is working as expected.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            I entered BB_AUTH_STRING was entered incorrectly. It is now fixed.

            Please test now using the team repo.

            Thank you!

            Show
            ann.loraine Ann Loraine added a comment - - edited I entered BB_AUTH_STRING was entered incorrectly. It is now fixed. Please test now using the team repo. Thank you!
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            It is working as expected on my fork.
            But is not visible in Downloads section of the main repo. We might have to set the app password correctly as you had pointed out in the meeting.

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - It is working as expected on my fork. But is not visible in Downloads section of the main repo. We might have to set the app password correctly as you had pointed out in the meeting.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Problem may be due to changes made last week for:

            Maybe get some assistance from Prutha on this?

            Show
            ann.loraine Ann Loraine added a comment - - edited Problem may be due to changes made last week for: https://jira.transvar.org/browse/IGBF-1866 Maybe get some assistance from Prutha on this?
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            Pipeline on my fork is failing due to

            [ERROR] Plugin org.lorainelab:bundle-markdown-encoder:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.lorainelab:bundle-markdown-encoder:jar:1.0.0: Could not transfer artifact org.lorainelab:bundle-markdown-encoder:pom:1.0.0 from/to repo3 (http://maven.bioviz.org/repo3): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]

            But when I run mvn clean install, repositroy.xml file is present in the jar created.

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - Pipeline on my fork is failing due to [ERROR] Plugin org.lorainelab:bundle-markdown-encoder:1.0.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.lorainelab:bundle-markdown-encoder:jar:1.0.0: Could not transfer artifact org.lorainelab:bundle-markdown-encoder:pom:1.0.0 from/to repo3 ( http://maven.bioviz.org/repo3): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1] But when I run mvn clean install, repositroy.xml file is present in the jar created.
            Hide
            ann.loraine Ann Loraine added a comment -

            Is the build on your fork happening as expected?

            Show
            ann.loraine Ann Loraine added a comment - Is the build on your fork happening as expected?
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            This issue is occurring on the team repo.

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - This issue is occurring on the team repo.
            Hide
            ann.loraine Ann Loraine added a comment -

            Does the problem happen on your fork or only on the team repo?

            Show
            ann.loraine Ann Loraine added a comment - Does the problem happen on your fork or only on the team repo?
            Show
            noor91zahara Noor Zahara (Inactive) added a comment - Merge Annotation is the one having some issue : https://bitbucket.org/lorainelab/merge-annotation-operator/pull-requests/6/igbf-1931-package-obr-xml-with-bundle-jar/diff
            Hide
            ann.loraine Ann Loraine added a comment -

            Which repos have the problem?
            (Add links here)

            Show
            ann.loraine Ann Loraine added a comment - Which repos have the problem? (Add links here)
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            [~aloraine] - I have tested and is working as expected except for merge annotation app. Mostly the jar is not getting updated in the Downloads section.
            Can we re-run the pipeline?

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - [~aloraine] - I have tested and is working as expected except for merge annotation app. Mostly the jar is not getting updated in the Downloads section. Can we re-run the pipeline?
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment - - edited

            Had to change the workflow a bit because the repository.xml was being generated in the resources folder and there is a chance that the file would get pushed to the git by the developers.
            There is no reason to generate the file in the resources folder as we can still access the target folder while generating the jar bundle.

            23 & Me : https://bitbucket.org/lorainelab/23andme-snp-converter/pull-requests/5/igbf-1931-package-obr-xml-with-bundle-jar/diff
            Command Socket : https://bitbucket.org/lorainelab/command-socket/pull-requests/10/igbf-1931-package-obr-xml-with-bundle-jar/diff
            Geometric Mean : https://bitbucket.org/lorainelab/geometric-mean-operator/pull-requests/6/igbf-1931/diff
            Hello World App [IGB Menu Bar Extension]: https://bitbucket.org/lorainelab/hello-world-igb-app/pull-requests/2/igbf-1931-package-obr-xml-with-bundle-jar/diff
            Merge Annotation Track Operator: https://bitbucket.org/lorainelab/merge-annotation-operator/pull-requests/6/igbf-1931-package-obr-xml-with-bundle-jar/diff
            ProtAnnot: https://bitbucket.org/lorainelab/protannot/pull-requests/7/igbf-1931-package-obr-xml-with-bundle-jar/diff
            Simple IGB App: https://bitbucket.org/lorainelab/simple-igb-app/pull-requests/4/igbf-1931-package-obr-xml-with-bundle-jar/diff

            Sorry for duplicate pull requests.

            The testing approach remains the same.

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - - edited Had to change the workflow a bit because the repository.xml was being generated in the resources folder and there is a chance that the file would get pushed to the git by the developers. There is no reason to generate the file in the resources folder as we can still access the target folder while generating the jar bundle. 23 & Me : https://bitbucket.org/lorainelab/23andme-snp-converter/pull-requests/5/igbf-1931-package-obr-xml-with-bundle-jar/diff Command Socket : https://bitbucket.org/lorainelab/command-socket/pull-requests/10/igbf-1931-package-obr-xml-with-bundle-jar/diff Geometric Mean : https://bitbucket.org/lorainelab/geometric-mean-operator/pull-requests/6/igbf-1931/diff Hello World App [IGB Menu Bar Extension] : https://bitbucket.org/lorainelab/hello-world-igb-app/pull-requests/2/igbf-1931-package-obr-xml-with-bundle-jar/diff Merge Annotation Track Operator: https://bitbucket.org/lorainelab/merge-annotation-operator/pull-requests/6/igbf-1931-package-obr-xml-with-bundle-jar/diff ProtAnnot: https://bitbucket.org/lorainelab/protannot/pull-requests/7/igbf-1931-package-obr-xml-with-bundle-jar/diff Simple IGB App: https://bitbucket.org/lorainelab/simple-igb-app/pull-requests/4/igbf-1931-package-obr-xml-with-bundle-jar/diff Sorry for duplicate pull requests. The testing approach remains the same.
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment -

            For Testing & review:
            1. Go to the download section of each of the Application Forks: https://bitbucket.org/sshanbh1/
            2. Download the Jar File.
            3. Open the Jar File and check if the repository.xml file is present in the jar file.
            4. Open the repository.xml and check if it has content and validates the same.

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - For Testing & review: 1. Go to the download section of each of the Application Forks: https://bitbucket.org/sshanbh1/ 2. Download the Jar File. 3. Open the Jar File and check if the repository.xml file is present in the jar file. 4. Open the repository.xml and check if it has content and validates the same.
            Show
            sameer Sameer Shanbhag (Inactive) added a comment - This Change will pack the repository.xml in the Bundled jar itself. Please review and let me know if it works fine. 23 and Me App: https://bitbucket.org/lorainelab/23andme-snp-converter/commits/eebcd31a34960a447503ed21c57b9fd1ff63e6bd Command Socket App : https://bitbucket.org/lorainelab/command-socket/pull-requests/9/igbf-1931-package-obr-xml-with-bundle-jar/diff Geometric Mean App: https://bitbucket.org/lorainelab/geometric-mean-operator/pull-requests/5/igbf-1931-package-obr-xml-with-bundle-jar/diff Hello World App [IGB Menu Bar Extension] : https://bitbucket.org/lorainelab/hello-world-igb-app/pull-requests/2/igbf-1931-package-obr-xml-with-bundle-jar/diff Merge Annotation Track Operator : https://bitbucket.org/lorainelab/merge-annotation-operator/pull-requests/5/igbf-1931-package-obr-xml-with-bundle-jar/diff Protannot App : https://bitbucket.org/lorainelab/protannot/pull-requests/6/igbf-1931-package-obr-xml-with-bundle-jar/diff Simple IGB App: https://bitbucket.org/lorainelab/simple-igb-app/pull-requests/3/igbf-1931-package-obr-xml-with-bundle-jar/diff

              People

              • Assignee:
                Unassigned
                Reporter:
                sameer Sameer Shanbhag (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: