[QFJ-906] Compile QFJ 1.6.x against JDK7 and QFJ 1.7.x against JDK8 Created: 18/Oct/16  Updated: 13/Dec/16  Resolved: 10/Dec/16

Status: Closed
Project: QuickFIX/J
Component/s: None
Affects Version/s: None
Fix Version/s: 1.6.3, 2.0.0

Type: Improvement Priority: Major
Reporter: Christoph John Assignee: Guido Medina
Resolution: Fixed Votes: 0
Labels: None


 Description   

We should compile at least against JDK7 for various reasons:

  • JDK6 is quite old now and end-of-life (actually, even JDK7 is)
  • some of the SSL tests do not work with JDK6 since it does not support all ciphers
  • MINA 2.0.15 is compiled against JDK7
  • some smaller improvements in the code could be made (multi-catch, diamond operator, ...)

Since there only is a 1.7.0-SNAPSHOT release now (i.e. no released version), we can simply compile against JDK8 there.



 Comments   
Comment by Guido Medina [ 18/Oct/16 ]

I can give you a big branch for both versions, with IntelliJ inspections to use JDK 7 diamond convention to avoid IDE warnings and stuff, I'll work on that, but it will have to be 1 change on master and two branches for code changes, basically I will split the changes in two:

  • POM changes on master merge-able to both 1.6 and 1.7
  • Code changes with inspections on both, can also take this opportunity for some reformatting.

Let me know if you agree.

Comment by Guido Medina [ 18/Oct/16 ]

I think you can re-create branch 1.6.x so that it is not diverted from 1.7? as both have as starting point JDK 1.7

Comment by Guido Medina [ 18/Oct/16 ]

Or create a 1.6.x called 'NEW_1_6_X'

Comment by Christoph John [ 18/Oct/16 ]

I already changed the POMs on the 1.6.x branch and the master branch to use JDK7 and JDK8 respectively some hours ago.

As I think about it: maybe your idea to create 1.6.x branch newly from master is not a bad idea. AFAIK there is only issue QFJ-833 that is resolved on 1.7.x but not on 1.6.x, but it should be no problem to have that change on 1.6.x also.

Edit: do you think it would make sense to have a master branch and then a 1.6 and 1.7 branch? Or is it sufficient to have 1.7 developed on master and only one branch for 1.6?

Comment by Christoph John [ 18/Oct/16 ]

Created https://github.com/quickfix-j/quickfixj/tree/QFJ_1_6_x_NEW

Comment by Guido Medina [ 18/Oct/16 ]

I think master should be the current snapshot which is 1.7.x and whatever is the previous version to have a branch,
in this case QFJ_1_6_x_NEW

Also always make changes on master and cherry pick to respective versions as much as possible, makes things easier and simpler.

Comment by Christoph John [ 18/Oct/16 ]

Re cherry-picking: yes, that's what I try most of the time.
Thanks in advance for your help, always appreciated.

Comment by Guido Medina [ 11/Dec/16 ]

Hi Chris,

Maybe I can introduce a JDK 7 optimization and rebase the JDK 8 code changes from it, so that the JDK 7 can be applied to both 1.6.x and 1.7.x

WDYT?

Comment by Guido Medina [ 11/Dec/16 ]

Nevermind, this was done already, so long ago I forgot:
https://github.com/quickfix-j/quickfixj/commit/629b801446431f06e0426aebcf669a2eca341a69

Comment by Christoph John [ 12/Dec/16 ]

Thanks

Generated at Sat Nov 23 07:27:16 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.