Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: 16.11.01
    • Fix Version/s: 16.11.01
    • Component/s: None
    • Labels:

      Description

      The following will be tracked through this JIRA:

      • upgrade the framework to JDK 8 and fix any errors
      • make sure that ./ant clean-all load-demo run-tests will run after the upgrade
      • upgrade the infrastructure and demo server to accommodate the new change
      1. OFBIZ-6458-01-fix-test-errors.patch
        1.0 kB
        Taher Alkhateeb
      2. OFBIZ-6458-02-fix-eclipse-compiler.patch
        0.6 kB
        Taher Alkhateeb
      3. OFBIZ-6458-03-update-to-jdk8.patch
        4 kB
        Taher Alkhateeb
      4. OFBIZ-6458-04-update-README.patch
        0.5 kB
        Taher Alkhateeb
      5. OFBIZ-6458-05-update-to-jdk8.patch
        5 kB
        Taher Alkhateeb

        Issue Links

          Activity

          Hide
          taher Taher Alkhateeb added a comment -

          Provided are three patches to be applied in order:

          • the first patch fixes problems with a test not working with JDK 8
          • the second patch fixes a problem with compilation error in eclipse only, it works okay in javac but not in eclipse ejc
          • the third patch actually upgrades OFBiz to jdk 8
          Show
          taher Taher Alkhateeb added a comment - Provided are three patches to be applied in order: the first patch fixes problems with a test not working with JDK 8 the second patch fixes a problem with compilation error in eclipse only, it works okay in javac but not in eclipse ejc the third patch actually upgrades OFBiz to jdk 8
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Thanks Taher, I will take care of that

          Show
          jacques.le.roux Jacques Le Roux added a comment - Thanks Taher, I will take care of that
          Hide
          taher Taher Alkhateeb added a comment -

          Forgot to update the README file. So adding it as a forth patch since all the patches should be done together whenever infra is ready.

          Show
          taher Taher Alkhateeb added a comment - Forgot to update the README file. So adding it as a forth patch since all the patches should be done together whenever infra is ready.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Taher, your 1st pach (for the test) is committed at revision: 1684042, more to come...

          Show
          jacques.le.roux Jacques Le Roux added a comment - Taher, your 1st pach (for the test) is committed at revision: 1684042, more to come...
          Hide
          taher Taher Alkhateeb added a comment -

          I'm biting my nails, just can't wait for my first lambda code to get into the framework

          Show
          taher Taher Alkhateeb added a comment - I'm biting my nails, just can't wait for my first lambda code to get into the framework
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          I stopped yesterday because I was unaware of the Eclipse EJC existence. I will commit your 2nd patch soon because this small "regression" in the code syntax should not prevent us to allow users to use Eclipse EJC.

          Wait Taher, the community has not decided yet when beginning to commit Java 8 specific code in the trunk. So the 3rs and 4th patches need to wait this decision. Please start a thread on dev ML to verify we have a consensus, thanks!

          Show
          jacques.le.roux Jacques Le Roux added a comment - I stopped yesterday because I was unaware of the Eclipse EJC existence. I will commit your 2nd patch soon because this small "regression" in the code syntax should not prevent us to allow users to use Eclipse EJC. Wait Taher, the community has not decided yet when beginning to commit Java 8 specific code in the trunk. So the 3rs and 4th patches need to wait this decision. Please start a thread on dev ML to verify we have a consensus, thanks!
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          1st patch committed at r1684042, 2nd at r1684133

          Show
          jacques.le.roux Jacques Le Roux added a comment - 1st patch committed at r1684042, 2nd at r1684133
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          BTW Taher, just curious: why and when use eclipse ECJ (instead of javac for instance)

          Show
          jacques.le.roux Jacques Le Roux added a comment - BTW Taher, just curious: why and when use eclipse ECJ (instead of javac for instance)
          Hide
          taher Taher Alkhateeb added a comment - - edited

          Hi Jacques,

          The EJC runs automatically whenever you fire-up eclipse. It is the continuous compiler that catches errors in your code and helps with auto complete and everything else in an eclipse Java project. So if you do not fix the error everything will run fine but you will have an annoying error registered in OFBiz whenever you edit it with eclipse

          BTW I think EJC is actually more accurate than javac in this specific instance because it follows a stricter syntax and I think that the design structure of eclipse is different from Intellij IDEA in that it utilizes the builtin compiler instead of the JDK compiler but I did not do enough research to validate this or ascertain the details.

          Show
          taher Taher Alkhateeb added a comment - - edited Hi Jacques, The EJC runs automatically whenever you fire-up eclipse. It is the continuous compiler that catches errors in your code and helps with auto complete and everything else in an eclipse Java project. So if you do not fix the error everything will run fine but you will have an annoying error registered in OFBiz whenever you edit it with eclipse BTW I think EJC is actually more accurate than javac in this specific instance because it follows a stricter syntax and I think that the design structure of eclipse is different from Intellij IDEA in that it utilizes the builtin compiler instead of the JDK compiler but I did not do enough research to validate this or ascertain the details.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Thanks, I did not know that, always thought Eclipse used javac. BTW I read there https://stackoverflow.com/questions/3061654/what-is-the-difference-between-javac-and-the-eclipse-compiler that IntelliJ IDEA has support for ECJ; also that some projects prefer ECJ (you keep writing EJC, it's ECJ http://blog.deepakazad.com/2010/05/ecj-eclipse-java-compiler.html )

          Show
          jacques.le.roux Jacques Le Roux added a comment - Thanks, I did not know that, always thought Eclipse used javac. BTW I read there https://stackoverflow.com/questions/3061654/what-is-the-difference-between-javac-and-the-eclipse-compiler that IntelliJ IDEA has support for ECJ; also that some projects prefer ECJ (you keep writing EJC, it's ECJ http://blog.deepakazad.com/2010/05/ecj-eclipse-java-compiler.html )
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          This was finalised by Adrian at r1684216 for StringUtil and r1684217 for the Generics in ECJ.

          Show
          jacques.le.roux Jacques Le Roux added a comment - This was finalised by Adrian at r1684216 for StringUtil and r1684217 for the Generics in ECJ.
          Hide
          taher Taher Alkhateeb added a comment -

          Hi Jacques,

          Patches 3 and 4 which apply the actual upgrade to JDK 8 are not yet applied. Shouldn't this JIRA be closed "after" applying them once we get community consensus?

          Show
          taher Taher Alkhateeb added a comment - Hi Jacques, Patches 3 and 4 which apply the actual upgrade to JDK 8 are not yet applied. Shouldn't this JIRA be closed "after" applying them once we get community consensus?
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Right, Taher but it depends on a vote before applying these patches. We could actually ask for a consensus rather than a vote. So I reopen and we wait for a vote or a community consensus.

          Show
          jacques.le.roux Jacques Le Roux added a comment - Right, Taher but it depends on a vote before applying these patches. We could actually ask for a consensus rather than a vote. So I reopen and we wait for a vote or a community consensus.
          Hide
          mbecker Martin Becker added a comment -

          The second patch (OFBIZ-6458-02-fix-eclipse-compiler.patch related to EntityFieldMap) compromises type security. I provided a patch for that within OFBIZ-6300 already in April.

          Show
          mbecker Martin Becker added a comment - The second patch ( OFBIZ-6458 -02-fix-eclipse-compiler.patch related to EntityFieldMap) compromises type security. I provided a patch for that within OFBIZ-6300 already in April.
          Hide
          taher Taher Alkhateeb added a comment -

          Hi Martin,

          No need to fix it. It was already fixed by adrian. It was a generics type problem and ECJ turns out to be right and actually more accurate.

          Show
          taher Taher Alkhateeb added a comment - Hi Martin, No need to fix it. It was already fixed by adrian. It was a generics type problem and ECJ turns out to be right and actually more accurate.
          Hide
          mbecker Martin Becker added a comment -

          Hi Taher,
          what i meant was, I provided a fix for that with title "Compiler-Error with JDK 1.8 and source compatibility 1.8" already 8 weeks ago, when the Java 8 compatibility was a headline once before, but it wasn't recognized or forgotten...

          Show
          mbecker Martin Becker added a comment - Hi Taher, what i meant was, I provided a fix for that with title "Compiler-Error with JDK 1.8 and source compatibility 1.8" already 8 weeks ago, when the Java 8 compatibility was a headline once before, but it wasn't recognized or forgotten...
          Hide
          taher Taher Alkhateeb added a comment -

          Hi Martin,

          I See. Thank you very much for your efforts, it would have been probably faster if we got your work instead of redoing it. I will spend more time searching through the JIRAs next time to try and hunt down any duplicates or existing JIRAs with solutions.

          Show
          taher Taher Alkhateeb added a comment - Hi Martin, I See. Thank you very much for your efforts, it would have been probably faster if we got your work instead of redoing it. I will spend more time searching through the JIRAs next time to try and hunt down any duplicates or existing JIRAs with solutions.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Seems it was not exactly the same change since Michael committed it yesterday, good catch Martin (I did not try to Java 8 source code compatibility yet)

          Show
          jacques.le.roux Jacques Le Roux added a comment - Seems it was not exactly the same change since Michael committed it yesterday, good catch Martin (I did not try to Java 8 source code compatibility yet)
          Hide
          taher Taher Alkhateeb added a comment -

          Attached is an updated single patch which will take care of updating to JDK 8. I will post an email to the mailing list and if no one objects I will go ahead and commit this patch. All tests run on JDK 8.

          Show
          taher Taher Alkhateeb added a comment - Attached is an updated single patch which will take care of updating to JDK 8. I will post an email to the mailing list and if no one objects I will go ahead and commit this patch. All tests run on JDK 8.
          Hide
          taher Taher Alkhateeb added a comment -

          changes committed to trunk at r1709262

          The build system needs to be upgraded to Java JDK 8. We need your help Jacques.

          Show
          taher Taher Alkhateeb added a comment - changes committed to trunk at r1709262 The build system needs to be upgraded to Java JDK 8. We need your help Jacques.
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          Yes I see that, I think I can handle myself but I don't remember clearly, let's see...

          Show
          jacques.le.roux Jacques Le Roux added a comment - Yes I see that, I think I can handle myself but I don't remember clearly, let's see...
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          This is done, we just wait for INFRA-10625

          Show
          jacques.le.roux Jacques Le Roux added a comment - This is done, we just wait for INFRA-10625
          Hide
          jacques.le.roux Jacques Le Roux added a comment -

          r1709718+r1709726 are also associated with this issue

          Show
          jacques.le.roux Jacques Le Roux added a comment - r1709718+r1709726 are also associated with this issue

            People

            • Assignee:
              jacques.le.roux Jacques Le Roux
              Reporter:
              taher Taher Alkhateeb
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development