Details
-
Type: Epic
-
Status: Closed (View Workflow)
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 10.0.0 Major Release
-
Labels:None
-
Epic Name:Implement r6 Annotations in IGB
Description
Situation: In order to update the maven-bundle-plugin update to be compatible with JDK 11 we need to implement the new r6 declarative service component annotations in IGB.
Task: Update each module (core/plugin) in IGB to use the new annotations (see comments below). Each updated module should be its own commit.
Development Workflow:
- Make or pick a ticket representing work on updating a module or set of modules. Assign it to yourself.
- Branch from the latest tip of main-JDK8-r6 (as usual) to create a topic branch for this task.
- Make code changes to new OSGI annotations.
- Delete the .m2 folder
- Delete the .igb folder (appData/igb folder on Windows).
- Run mvn clean install (Do not skip tests).
- If any test fails, do not commit changes to any branch. Instead, (1) create a new ticket documenting the error and (2) discard the changes on your local system. Later either you or someone else will attempt investigate.
- Start IGB, check log/standard output for any warnings/errors.
- If there are relevant warnings/errors make a new ticket, do not commit changes to branch. (See 6.)
- Check the Felix Web Console in your browser (link).
- If any bundles are listed as fragments/installed then make a new ticket, do not commit changes to branch. (See 6.)
- Click on the Arabidopsis genome.
- Test the individual module functionality. See "smoke testing documentation" for how to test a module.
- If unclear as to how to test module functionality, ask Dr. Loraine.
- If module functionality appears to be broken, make a new ticket, do not commit changes to branch. (See 6.)
- Reset preferences to default; doing this will quit IGB.
- Commit change for that specific module to your topic branch. Format your commit message following this example: Update annotations for Plugin - Graph Tab. Each module should be modified in a single commit.
- Push branch to your fork.
- Mark the module as completed below.
Git:
Branch: https://bitbucket.org/lorainelab/integrated-genome-browser/commits/branch/main-JDK8-r6
Create a pull request from your branch to main-JDK8-r6
Reference:
Smoke testing documentation: https://wiki.bioviz.org/confluence/display/ITD/How+to+test+-+read+this+first
'multiple = true, optional = false' :: cardinality = ReferenceCardinality.AT_LEAST_ONE
'multiple=false & optional = true' :: cardinality = ReferenceCardinality.OPTIONAL
'multiple = true' :: cardinality = ReferenceCardinality.AT_LEAST_ONE
'optional=false' :: cardinality = ReferenceCardinality.MANDATORY
'dynamic = true' :: policy = ReferencePolicy.DYNAMIC