Proposal - Phasing out Java 7 support in Jenkins Dev tools

36 views
Skip to first unread message

Oleg Nenashev

unread,
Jun 3, 2019, 9:27:47 AM6/3/19
to JenkinsCI Developers
Hi all,

Java 7 has not been supported in Jenkins LTS since 2.60.1, which was released almost 2 years ago (June 27, 2017). Over past two years, a majority of plugins updated their requirements to 2.60.3 and above, and there are only few exceptions in top-50 plugins (Mailer, Git Client, Git Server, Pipeline: Stage Step, Pipeline: REST API). First 3 plugins are also about moving to 2.60.x+ because of the ongoing work on JCasc plugin support in these plugins. I think it is a time to discuss phasing out Java 7 support in our development tools.

Why?
  • Not all upstream libraries still support Java 7 (e.g. Animal Sniffer 1.18 in this PR). So we cannot update newest patches, including ones which might be required for JDK 11 support in our build tools
  • We have some dependencies and profiles specific to Java 7. It increases the maintenance cost
  • While we support Java 7, It is harder to include new dependencies and improve our test frameworks
What do I propose to change?
  • Drop Java 7 and Jenkins 2.59- support in Plugin POM
  • Drop Java 7 support from Jenkins parent POM (one we use for core and its libs)
  • Drop Java 7 support from Jenkins Test Harness, bump the target core to 2.60.3. 
    • It will allow us to extend the test frameworks, e.g. by embedding JCasC support there (e.g. this benchmarking PR by Abhyudaya)
  • Drop Java 7 support in Docker Fixtures and other test libraries we maintain in the Jenkins community
  • Drop Java 7 support and old Core support from Plugin Compat Tester, if feasible
  • Remove 2.59- test conditions and checks from Jenkins Acceptance Test Harness
  • ... // and so on
Such phase out could be done incrementally when maintainers or contributors are interested to do so. I would consider this thread as giving a green light to whomever wants to drop old Java version support from Dev tools.

Would appreciate feedback.

Best regards,
Oleg




James Nord

unread,
Jun 3, 2019, 9:38:04 AM6/3/19
to Jenkins Developers
Sounds OK to me.

Jesse Glick

unread,
Jun 3, 2019, 9:38:52 AM6/3/19
to Jenkins Dev
On Mon, Jun 3, 2019 at 9:27 AM Oleg Nenashev <o.v.ne...@gmail.com> wrote:
> a green light to whomever wants to drop old Java version support from Dev tools

+1. I see no reason to waste core dev time handling obsolete
platforms. If some plugin maintainer insists on providing support for
very old core lines for whatever reason, they can create a backport
branch, or simply decline to update tool versions, but it is
appropriate for all plugins in the Setup wizard’s recommended list to
use a 2.60.x or newer baseline and use current tooling.

Mark Waite

unread,
Jun 3, 2019, 9:58:30 AM6/3/19
to jenkinsci-dev
+1 from me as well.
 
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr17qrqwOuzQu27U-WHxmjKqYuYFbdxRGKooj4ovfZRmQQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


--
Thanks!
Mark Waite

Robert Sandell

unread,
Jun 3, 2019, 10:10:44 AM6/3/19
to jenkin...@googlegroups.com
+1 
I thought we already had dropped Java 7 support in the tooling :/

/B


For more options, visit https://groups.google.com/d/optout.


--
Robert Sandell
Software Engineer
CloudBees, Inc.
CloudBees-Logo.png
Twitter: robert_sandell

Matt Sicker

unread,
Jun 3, 2019, 12:11:55 PM6/3/19
to jenkin...@googlegroups.com
+1 from me. Not a big fan of holding on to support for super old things.


For more options, visit https://groups.google.com/d/optout.


--
Matt Sicker
Senior Software Engineer, CloudBees

Baptiste Mathus

unread,
Jun 3, 2019, 12:23:39 PM6/3/19
to jenkin...@googlegroups.com
+1 from me obviously. Anyone actually needed old *dev* tooling can use current tags/releases, though I believe nobody really does need this.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Oleg Nenashev

unread,
Jun 4, 2019, 6:23:59 PM6/4/19
to Jenkins Developers
taking the consensus here, I will proceed with creating tickets and pull requests for the components mentioned in the original proposal (actually, just few of them like Plugin POM)


On Monday, June 3, 2019 at 6:23:39 PM UTC+2, Baptiste Mathus wrote:
+1 from me obviously. Anyone actually needed old *dev* tooling can use current tags/releases, though I believe nobody really does need this.

Le lun. 3 juin 2019 à 15:27, Oleg Nenashev <o.v.n...@gmail.com> a écrit :
Hi all,

Java 7 has not been supported in Jenkins LTS since 2.60.1, which was released almost 2 years ago (June 27, 2017). Over past two years, a majority of plugins updated their requirements to 2.60.3 and above, and there are only few exceptions in top-50 plugins (Mailer, Git Client, Git Server, Pipeline: Stage Step, Pipeline: REST API). First 3 plugins are also about moving to 2.60.x+ because of the ongoing work on JCasc plugin support in these plugins. I think it is a time to discuss phasing out Java 7 support in our development tools.

Why?
  • Not all upstream libraries still support Java 7 (e.g. Animal Sniffer 1.18 in this PR). So we cannot update newest patches, including ones which might be required for JDK 11 support in our build tools
  • We have some dependencies and profiles specific to Java 7. It increases the maintenance cost
  • While we support Java 7, It is harder to include new dependencies and improve our test frameworks
What do I propose to change?
  • Drop Java 7 and Jenkins 2.59- support in Plugin POM
  • Drop Java 7 support from Jenkins parent POM (one we use for core and its libs)
  • Drop Java 7 support from Jenkins Test Harness, bump the target core to 2.60.3. 
    • It will allow us to extend the test frameworks, e.g. by embedding JCasC support there (e.g. this benchmarking PR by Abhyudaya)
  • Drop Java 7 support in Docker Fixtures and other test libraries we maintain in the Jenkins community
  • Drop Java 7 support and old Core support from Plugin Compat Tester, if feasible
  • Remove 2.59- test conditions and checks from Jenkins Acceptance Test Harness
  • ... // and so on
Such phase out could be done incrementally when maintainers or contributors are interested to do so. I would consider this thread as giving a green light to whomever wants to drop old Java version support from Dev tools.

Would appreciate feedback.

Best regards,
Oleg




--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkin...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages