Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-14157

Add org.eclipse.persistence.oracle depencency only for Oracle installations

    Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.6
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • Similar issues:
      KULRICE-3722Get rid of the need to have the oracle jdbc driver as a dependency in our pom
      KULRICE-5910Add oracle script to refresh the data to rice-trunk-integration-test-oracle
      KULRICE-9281default values for Oracle DATE and MySQL DATETIME columns are inconsistent
      KULRICE-9210Add note in IG on how to configure Rice without KRAD (KNS only)
      KULRICE-12998Test git with db install process
      KULRICE-12096IT Failure Oracle EmailAddressValidationPatternTest.testMatches_invalid3
      KULRICE-13966Update db install process for branch changes
      KULRICE-8715Problems with 2.1.3 Oracle upgrade scripts
      KULRICE-10968KD 2013 Install Fest Prep: Mac Presentation
      KULRICE-12817Update db-install job to handle svn 1.7 client
    • Sprint:
      Rice Sprint 2015-04-1
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes
    • Story Points:
      5

      Description

      KUlRICE-14149 added the org.eclipse.persistence.oracle dependency whether or not Oracle is used. It would be nice to include this dependency only for Oracle installation.

      Maven profiles might be used but this might require the introduction of profiles specific to databases, which make deployments more complicated.

      Another options might be the usage of run time scopes as suggested by Corey.

        Issue Links

          Activity

          Hide
          Shannon Hess added a comment -

          I followed up with Corey regarding using the runtime scope. After researching it and doing some testing, it does not seem like a viable option. Our conversation:

          [8:38:39 AM] Shannon Hess: Hi Corey --  I know you are back on local work now, but I have what I hope is a quick question about KULRICE-14157.  In that JIRA, it was mentioned that you suggested using runtime scopes.  I was just hoping to get more of an explanation from you, since it seems that the runtime scopes still include the org.eclipse.persistence.oracle dependency in any case.  It is just not on the compile classpath.  I wanted to make sure I wasn't missing your intention.   Thanks!
          
          [10:00:18 AM] corey pedersen: The question I raised when we talked about this was if you could make the runtime scope dependent on whether oracle was in use or not.  I guess this would be by conditional statements in the pom, but I never went deeper into this than my question.
          

          However, I was able to get a profile to work. So that it does not disrupt our current CI builds and institutions that are currently using Oracle, the profile will always be used unless the skipOracleProfile flag is passed during a mvn install (Thus by default the org.eclipse.persistence.oracle dependency will be included). If someone is using mysql and does not want the org.eclipse.persistence.oracle.jar to be included in their war, they just have to pass the skipOracleProfile. For example:

          mvn clean install -DskipTests -DskipOracleProfile
          

          Also – I wanted to mention that I did not use the activeByDefault property on purpose. After reading up on this, it seems that if any other profile is used then the activeByDefault profiles will NOT be used. This would cause the org.eclipse.persistence.oracle dependency not to be included if an institution used any other profile while building their war. The way I have it set up, the "usingOracle" profile I created will only be skipped if the skipOracleProfile flag is set.

          Pull request - https://github.com/kuali/rice/pull/125

          Show
          Shannon Hess added a comment - I followed up with Corey regarding using the runtime scope. After researching it and doing some testing, it does not seem like a viable option. Our conversation: [8:38:39 AM] Shannon Hess: Hi Corey -- I know you are back on local work now, but I have what I hope is a quick question about KULRICE-14157. In that JIRA, it was mentioned that you suggested using runtime scopes. I was just hoping to get more of an explanation from you, since it seems that the runtime scopes still include the org.eclipse.persistence.oracle dependency in any case . It is just not on the compile classpath. I wanted to make sure I wasn't missing your intention. Thanks! [10:00:18 AM] corey pedersen: The question I raised when we talked about this was if you could make the runtime scope dependent on whether oracle was in use or not. I guess this would be by conditional statements in the pom, but I never went deeper into this than my question. However, I was able to get a profile to work. So that it does not disrupt our current CI builds and institutions that are currently using Oracle, the profile will always be used unless the skipOracleProfile flag is passed during a mvn install (Thus by default the org.eclipse.persistence.oracle dependency will be included). If someone is using mysql and does not want the org.eclipse.persistence.oracle.jar to be included in their war, they just have to pass the skipOracleProfile. For example: mvn clean install -DskipTests -DskipOracleProfile Also – I wanted to mention that I did not use the activeByDefault property on purpose. After reading up on this, it seems that if any other profile is used then the activeByDefault profiles will NOT be used. This would cause the org.eclipse.persistence.oracle dependency not to be included if an institution used any other profile while building their war. The way I have it set up, the "usingOracle" profile I created will only be skipped if the skipOracleProfile flag is set. Pull request - https://github.com/kuali/rice/pull/125

            People

            • Assignee:
              Shannon Hess
              Reporter:
              Claus Niesen
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Agile

                  Structure Helper Panel