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

Investigate: Should we include IGB bundle source code in maven-releases

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      1
    • Sprint:
      Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr

      Description

      In Netbeans IDE, one can right-click a class name defined in an IGB bundle and choose Navigate -> Go To Source.

      However, the source code does not appear to be available in this view.

      Investigate whether this can be fixed by including source code with the IGB bundles released to maven-releases.

        Attachments

          Issue Links

            Activity

            ann.loraine Ann Loraine created issue -
            ann.loraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-1531 [ 17617 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Suggestion for how to do this:

            The Genoviz SDK POM.xml contains directive to include *.java files in the jar file:
            snip
            <build>
            <resources>
            <resource>
            <directory>src/main/java</directory>
            <includes>
            <include>*/.java</include>
            </includes>
            </resource>
            <resource>
            <directory>src/main/resources</directory>
            </resource>
            </resources>
            snip

            We could include the above, or something similar, in the release to nexus profile in the top-level parent POM of the Integrated Genome Browser project. We probably want the jar files released to Nexus to contain the source code, but we do not want the jar files packaged with the installer to include the source code.

            Show
            ann.loraine Ann Loraine added a comment - - edited Suggestion for how to do this: The Genoviz SDK POM.xml contains directive to include *.java files in the jar file: snip <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>* / .java</include> </includes> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> snip We could include the above, or something similar, in the release to nexus profile in the top-level parent POM of the Integrated Genome Browser project. We probably want the jar files released to Nexus to contain the source code, but we do not want the jar files packaged with the installer to include the source code.
            ann.loraine Ann Loraine made changes -
            Story Points 0.25 1
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb [ 86 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            noor91zahara Noor Zahara (Inactive) made changes -
            Link This issue blocks IGBF-1798 [ IGBF-1798 ]
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb [ 86 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 21 Feb [ 86, 87 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb [ 86, 87 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar [ 86, 87, 89 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar [ 86, 87, 89 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar [ 86, 87, 89, 90 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            pooja.nikhare Pooja Nikhare (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            pooja.nikhare Pooja Nikhare (Inactive) made changes -
            Assignee Pooja Nikhare [ pooja.nikhare ]
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar [ 86, 87, 89, 90 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10 [ 86, 87, 89, 90, 91 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            Hide
            pooja.nikhare Pooja Nikhare (Inactive) added a comment -

            This can be done in 3 ways. By adding build properties in maven profile - release-to-nexus.bioviz.org
            1. add resources
            <resources>
            <resource>
            <directory>src/main/java</directory>
            <includes>
            <include>*/.java</include>
            </includes>
            </resource>
            </resources>
            Command : mvn -P release-to-nexus.bioviz.org clean
            creates igb_exe.jar. On extracting .java files can be found with .class files

            2. Maven source plugin
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.2.0</version>
            <inherited>true</inherited>
            <executions>
            <execution>
            <id>attach-sources</id>
            <goals>
            <goal>jar-no-fork</goal>
            </goals>
            </execution>
            </executions>
            </plugin>
            command : mvn -P release-to-nexus.bioviz.org clean source:aggregate
            creates igb-project-source.jar inside target folder
            3. maven assembly plugin
            https://maven.apache.org/plugins/maven-assembly-plugin/examples/multimodule/module-source-inclusion-simple.html

            Show
            pooja.nikhare Pooja Nikhare (Inactive) added a comment - This can be done in 3 ways. By adding build properties in maven profile - release-to-nexus.bioviz.org 1. add resources <resources> <resource> <directory>src/main/java</directory> <includes> <include>* / .java</include> </includes> </resource> </resources> Command : mvn -P release-to-nexus.bioviz.org clean creates igb_exe.jar. On extracting .java files can be found with .class files 2. Maven source plugin <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.0</version> <inherited>true</inherited> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> command : mvn -P release-to-nexus.bioviz.org clean source:aggregate creates igb-project-source.jar inside target folder 3. maven assembly plugin https://maven.apache.org/plugins/maven-assembly-plugin/examples/multimodule/module-source-inclusion-simple.html
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            To test:

            • Build using the new method (to package java files with the jar)
            • Run mvn clean install with a specific profile to force the bundles to be added to your local .m2 (maven) repository
            • Then, check that when you use "view source" in Netbeans, you can see the actual source brought in from the jar file

            Note: We do NOT want to package the java files with the installer released to users.

            Show
            ann.loraine Ann Loraine added a comment - - edited To test: Build using the new method (to package java files with the jar) Run mvn clean install with a specific profile to force the bundles to be added to your local .m2 (maven) repository Then, check that when you use "view source" in Netbeans, you can see the actual source brought in from the jar file Note: We do NOT want to package the java files with the installer released to users.
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10 [ 86, 87, 89, 90, 91 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr [ 86, 87, 89, 90, 91, 92 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Assignee Pooja Nikhare [ pooja.nikhare ]
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            shamika Shamika Gajanan Kulkarni (Inactive) made changes -
            Assignee Shamika Gajanan Kulkarni [ shamika ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            shamika Shamika Gajanan Kulkarni (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Hide
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment - - edited

            Prof. [~aloraine] I have tried the first and second methods mentioned above. The second method seems to include the source code as a separate jar called sources [for example, for affymetrix-common, one more jar will be included in the target folder called 'affymetrix-common-9.1.4-sources']. The java files are not packaged in the installer released to users.
            However, I haven't been able to find a specific profile in maven to force the bundles to be updated in .m2, I am working on finding it. Also, I am not sure I completely understand what is the requirement there. Can you please elaborate it to me so that it helps me understand if what I am working on is right? Also, can you please check if this is what we want? I have pushed the above changes to my fork on a new branch. The link is as follows.
            https://bitbucket.org/skulka2710/shamika_igb/branch/IGBF-2235#diff

            For now, I have commented the test files for 'das' since I was facing build failures. Also, I noticed there is a conflict in one of the test class and I shall fix it later.

            Show
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment - - edited Prof. [~aloraine] I have tried the first and second methods mentioned above. The second method seems to include the source code as a separate jar called sources [for example, for affymetrix-common, one more jar will be included in the target folder called 'affymetrix-common-9.1.4-sources'] . The java files are not packaged in the installer released to users. However, I haven't been able to find a specific profile in maven to force the bundles to be updated in .m2, I am working on finding it. Also, I am not sure I completely understand what is the requirement there. Can you please elaborate it to me so that it helps me understand if what I am working on is right? Also, can you please check if this is what we want? I have pushed the above changes to my fork on a new branch. The link is as follows. https://bitbucket.org/skulka2710/shamika_igb/branch/IGBF-2235#diff For now, I have commented the test files for 'das' since I was facing build failures. Also, I noticed there is a conflict in one of the test class and I shall fix it later.
            shamika Shamika Gajanan Kulkarni (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            shamika Shamika Gajanan Kulkarni (Inactive) made changes -
            Assignee Shamika Gajanan Kulkarni [ shamika ]
            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 ] To-Do [ 10305 ]
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr [ 86, 87, 89, 90, 91, 92 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr, Spring 8 : 24 Apr to 8 May [ 86, 87, 89, 90, 91, 92, 93 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Comment [ The requirement is to enable Netbeans to display the actual source code when users click on "view source" in the IDE. This would no doubt require packaging the source code in a way that will allow maven or the IDE itself to retrieve it. Please try to figure out how we can make that happen as it would be a convenience for developers working on Apps. ]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            We made some pretty good progress here but are not sure how to enable developers to see the source code for IGB bundles. Moving to the backlog for us to work on later.

            Thank you Pooja Nikhare and Shamika Gajanan Kulkarni for the progress made thus far!

            Show
            ann.loraine Ann Loraine added a comment - - edited We made some pretty good progress here but are not sure how to enable developers to see the source code for IGB bundles. Moving to the backlog for us to work on later. Thank you Pooja Nikhare and Shamika Gajanan Kulkarni for the progress made thus far!
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr, Spring 8 : 24 Apr to 8 May [ 86, 87, 89, 90, 91, 92, 93 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr [ 86, 87, 89, 90, 91, 92 ]
            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 ]
            ann.loraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            ann.loraine Ann Loraine made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            ann.loraine Ann Loraine made changes -
            Assignee Shamika Gajanan Kulkarni [ shamika ]

              People

              • Assignee:
                shamika Shamika Gajanan Kulkarni (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: