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
-
Epic Link:
-
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
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
Prof. [~aloraine], changed it to public now.
Sorry, https://bitbucket.org/pkulka10/prutha_23andme-snp-converter/src/IGBF-1931/ appears to be private.
Thank you. Please submit PR when you are ready.
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.
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.
Sure Prof. [~aloraine]. I'll work on the changes and try to finish it asap.
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.
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.
[~aloraine] - Sure ma'am. Please let me know when you're free so that I can come upstairs for the discussion.
Thanks.
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.
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.
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.
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
It is working as expected.
I entered BB_AUTH_STRING was entered incorrectly. It is now fixed.
Please test now using the team repo.
Thank you!
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.
Problem may be due to changes made last week for:
Maybe get some assistance from Prutha on this?
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.
Is the build on your fork happening as expected?
This issue is occurring on the team repo.
Does the problem happen on your fork or only on the team repo?
Merge Annotation is the one having some issue :
Which repos have the problem?
(Add links here)
[~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?
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.
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.
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
PRs merged from above.