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

Simplify development (experimental) apps build and deployment system

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      The current build system for the development apps renamed experimental apps) contains repeated code, which makes it hard to modify and understand.

      See: https://bitbucket.org/lorainelab/experimental-apps-for-igb for new git repository location.

      We wrote it this way in part because I imposed the requirement for enabling individual Apps and their unitary OBR index files to be deployed to the Bitbucket Downloads folder for the repository.

      However, upon taking a deeper look into this, it is clear we can get rid of this requirement.

      For proper testing, we should copy all the Apps and a shared OBR index file to the Downloads. This will enable a developer, tester, or ordinary user to simply add the Downloads folder to IGB as an App repository. If they do that, then all of the Apps will become visible in the IGB App Manager, where they can install them. Also, because the Apps are sharing a repository and a parent POM, we need to make sure that if one can build, all can build.

      By getting rid of this requirement, we can remove the App-specific profiles from the system, which will greatly simplify the setup.

      Making the setup simpler and easier to understand and modify will allow us to use it as part of our developer documentation to help developers get more familiar with IGB Apps and how they work.

      cc: Prutha Kulkarni

        Attachments

          Issue Links

            Activity

            ann.loraine Ann Loraine created issue -
            ann.loraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-1908 [ 17998 ]
            ann.loraine Ann Loraine made changes -
            Link This issue relates to IGBF-1931 [ IGBF-1931 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Made branch, merged into master, closed branch.
            New design puts plugin configurations in parent pom.
            Child pom in new module "obr" builds index file for all the Apps.

            Show
            ann.loraine Ann Loraine added a comment - Made branch, merged into master, closed branch. New design puts plugin configurations in parent pom. Child pom in new module "obr" builds index file for all the Apps.
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            ann.loraine Ann Loraine made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Prutha Kulkarni [ prutha ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Prutha Kulkarni - when you get back to Charlotte, please test.

            Test local configuration:

            • Clone the repo
            • Compile by running mvn install at top-level of project
            • Add obr/bundles as a local App Repository
            • Confirm that you can install the Apps

            Note: To confirm installation, check the Felix Web console. IGB Console reports bundles are getting installed even when they are not as per https://jira.transvar.org/browse/IGBF-2186.

            To test remote configuration:

            • Add Downloads of team repository as a new App repository.
            • Confirm that you can install the Apps from there as well.

            To test local configuration:

            • Run mvn install using the module POMs
            • An OBR index file and jar file should get copied into the modules target directory
            Show
            ann.loraine Ann Loraine added a comment - Prutha Kulkarni - when you get back to Charlotte, please test. Test local configuration: Clone the repo Compile by running mvn install at top-level of project Add obr/bundles as a local App Repository Confirm that you can install the Apps Note: To confirm installation, check the Felix Web console. IGB Console reports bundles are getting installed even when they are not as per https://jira.transvar.org/browse/IGBF-2186 . To test remote configuration: Add Downloads of team repository as a new App repository. Confirm that you can install the Apps from there as well. To test local configuration: Run mvn install using the module POMs An OBR index file and jar file should get copied into the modules target directory
            Hide
            ann.loraine Ann Loraine added a comment -

            Also, Prutha Kulkarni - please review the code. If you have questions, please add as new comments.
            It's important that the project structure and POMs be clear so that new developers can learn from them.

            Show
            ann.loraine Ann Loraine added a comment - Also, Prutha Kulkarni - please review the code. If you have questions, please add as new comments. It's important that the project structure and POMs be clear so that new developers can learn from them.
            ann.loraine Ann Loraine made changes -
            Sprint Spring 1 : 25 Dec to 17 Jan [ 84 ] Spring 2 : 20 Jan to 31 Jan [ 85 ]
            ann.loraine Ann Loraine made changes -
            Link This issue relates to IGBF-2213 [ IGBF-2213 ]
            ann.loraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            ann.loraine Ann Loraine made changes -
            Status Post-merge Testing In Progress [ 10003 ] To-Do [ 10305 ]
            ann.loraine Ann Loraine made changes -
            Assignee Prutha Kulkarni [ prutha ] Ann Loraine [ aloraine ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Found a problem with repository.xml created on Bitbucket and copied to Downloads. It does not list any Apps.

            Show
            ann.loraine Ann Loraine added a comment - Found a problem with repository.xml created on Bitbucket and copied to Downloads. It does not list any Apps.
            ann.loraine Ann Loraine made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            ann.loraine Ann Loraine made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Fixed problem. Copying task was failing due to misconfiguration of maven-antrun-plugin.
            Moved maven-antrun-plugin configuration and execution to obr module so that copying of jars into obr/bundles will only happen when trying to build an OBR with all the bundles.
            When working with a single module, we don't need to copy its bundle to obr/bundles since its target directory will be its OBR.

            Show
            ann.loraine Ann Loraine added a comment - Fixed problem. Copying task was failing due to misconfiguration of maven-antrun-plugin. Moved maven-antrun-plugin configuration and execution to obr module so that copying of jars into obr/bundles will only happen when trying to build an OBR with all the bundles. When working with a single module, we don't need to copy its bundle to obr/bundles since its target directory will be its OBR.
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Prutha Kulkarni [ prutha ]
            prutha Prutha Kulkarni (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            Hide
            prutha Prutha Kulkarni (Inactive) added a comment -

            I have tested the experimental apps for both local as well as remote configuration. Followed the steps that are mentioned above. Also I checked in on the apache felix console whether the bundle is getting installed or not and I was able to see it on the console as well.
            I really liked the idea of creating a new obr folder in order to build the consolidated repository.xml file instead of maintaining profiles for each plugin. It is very easy to understand as well.

            Show
            prutha Prutha Kulkarni (Inactive) added a comment - I have tested the experimental apps for both local as well as remote configuration. Followed the steps that are mentioned above. Also I checked in on the apache felix console whether the bundle is getting installed or not and I was able to see it on the console as well. I really liked the idea of creating a new obr folder in order to build the consolidated repository.xml file instead of maintaining profiles for each plugin. It is very easy to understand as well.
            prutha Prutha Kulkarni (Inactive) made changes -
            Assignee Prutha Kulkarni [ prutha ] Ann Loraine [ aloraine ]
            prutha Prutha Kulkarni (Inactive) made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]

              People

              • Assignee:
                ann.loraine Ann Loraine
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: