This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 490012 - Remove the "strictly compatible JRE" per-project override from all projects in the Eclipse SDK
Summary: Remove the "strictly compatible JRE" per-project override from all projects i...
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: PMC (show other bugs)
Version: 4.6   Edit
Hardware: PC Windows NT
: P3 normal (vote)
Target Milestone: 4.6 M7   Edit
Assignee: Stefan Xenos CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 493261 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-03-19 18:29 EDT by Stefan Xenos CLA
Modified: 2016-09-27 08:47 EDT (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Xenos CLA 2016-03-19 18:29:29 EDT
This preference may require developers to either install multiple JREs or work with unnecessary errors in their workspace, neither of which is desirable.
Comment 1 Eclipse Genie CLA 2016-03-19 18:31:34 EDT
New Gerrit change created: https://git.eclipse.org/r/68852
Comment 3 Markus Keller CLA 2016-03-29 06:03:25 EDT
Why is a correct setup not desirable?

We had too many problems in the past with commits that used APIs that were not available on the bundle's EE. This setting stopped such problems.
Comment 4 Stefan Xenos CLA 2016-03-29 10:23:41 EDT
> Why is a correct setup not desirable?

One of my objectives for this year is to lower the entry barrier for new Eclipse contributors. One prerequisite for that is to simplify or automate the setup steps.

Installing multiple JREs is time consuming and hard to automate. It's also difficult on platforms such as OSX where the older JREs are hard to find.

> We had too many problems in the past with commits that used APIs that
> were not available on the bundle's EE.

Was this before or after we had Jenkins and gerrit verifying each patch prior to submission? If it was before then we don't need this setting anymore since we now have Jenkins doing this job. If it's after, then we either need to educate our committers not to skip the review queue or fix whatever problem was present in our build servers that was prevented them from detecting such errors.

Neither alternative requires making contributors install multiple JREs.

It's certainly beneficial for some of us to be running multiple JREs -- particularly those of us who review community patches... but we're a minority. It should not be required for all contributors.
Comment 5 Szymon Ptaszkiewicz CLA 2016-04-04 08:12:49 EDT
(In reply to Markus Keller from comment #3)
> Why is a correct setup not desirable?
> 
> We had too many problems in the past with commits that used APIs that were
> not available on the bundle's EE. This setting stopped such problems.

This bug was discussed during last week's status call and we agreed that this change should not have been merged. Switching important project preferences from error to warning, especially those that are known to have prevented many problems in the past, is wrong and cannot be done without getting agreement from all committers of the component. This change was pushed in a hurry without getting such agreement and without prior discussion. We also agreed that preferences of an individual contributors cannot influence the workflow of all committers of the component. Proposing such change does not mean it will or should be merged because it may not be wanted, like in this case.

(In reply to Stefan Xenos from comment #4)
> Installing multiple JREs is time consuming and hard to automate.

This is no longer true because all team projects require now Java 1.8 so there is no reason why we would not want to get more safety by showing an error when the workspace is not configured correctly.

Based on the above, I have reverted the commit from comment 2 so that we get back the right set of options: http://git.eclipse.org/c/platform/eclipse.platform.team.git/commit/?id=92faeacdde13313fa8407d7247cf189833f77f65
Comment 6 Dani Megert CLA 2016-04-04 09:37:12 EDT
(In reply to Szymon Ptaszkiewicz from comment #5)
> This bug was discussed during last week's status call and we agreed that
> this change should not have been merged.

The decision is, that all committers must decide such changes. Also, the final decision remains with the component leads.
Comment 7 Szymon Ptaszkiewicz CLA 2016-04-04 09:39:50 EDT
(In reply to Dani Megert from comment #6)
> (In reply to Szymon Ptaszkiewicz from comment #5)
> > This bug was discussed during last week's status call and we agreed that
> > this change should not have been merged.
> 
> The decision is, that all committers must decide such changes. Also, the
> final decision remains with the component leads.

Thanks for the correction/clarification.
Comment 8 Stefan Xenos CLA 2016-04-04 11:36:13 EDT
My bad. I had no idea this would be controversial. I'll go through proper channels next time I mess with project settings.
Comment 9 Ed Merks CLA 2016-04-08 16:33:54 EDT
Given we have this topic open, it seems good forum to raise a few questions.

1) How many different JREs are currently required for all this strict compatibility at development time?  

2) Are we *really* expecting *all* contributors to visit this page

http://www.oracle.com/technetwork/java/javase/archive-139210.html

to install a whack of JREs (I have Mac and Linux virtual boxes too) just to have an error free workspace in order to be able to contribute?

2) Given that this is so important, why don't the EE settings work properly?  

3) If they don't work, why don't we fix them?  

4) Why isn't a warning sufficient such that it *must* be an error? (I know the answer to that one, because there are 10,000 other warnings, but that begs another unrelated question doesn't it?)

5) Why can't the Gerrit/Jenkins build use the whack of JREs to verify that we (committers and contributors) don't make mistakes before they're merged to master?

In any case, I wrote the Oomph setup to automatically change these settings because in my opinion this is a major barrier to entry; with Oomph we don't let barriers get in the way.  We try to find a way to work around those, because otherwise nothing improves.  Hopefully we can make opt-out optional

491355: Provide some way for users to opt out of specific oomph rules inherited from the project setup
https://bugs.eclipse.org/bugs/show_bug.cgi?id=491355

All that being said, I certainly agree that things like this should be decided as a team.  Just keep in mind that that the team can be very large or very small depending on what the small team decides.
Comment 10 Lars Vogel CLA 2016-04-08 16:41:24 EDT
Fyi, in Platform UI (recently voted to the most open project) we have this preference set to a warning. 


And the Gerrit validation build find these issues.

+1 for reducing it from error to warning.
Comment 11 Sergey Prigogin CLA 2016-04-08 16:52:55 EDT
+1 for reducing it from error to warning.

The concern expressed in comment #3 no longer applies due verification of Gerrit changes by the Hudson builds.
Comment 12 Stefan Xenos CLA 2016-04-08 22:56:21 EDT
+1 for setting this to "not an error"

However I'd say that "ignore" would be preferable to "warning" since warnings are things we want the end user to do something about and - for the vast majority of contributors - there is no added benefit to having a bunch of extra JVMs installed.

I'd also say that this should apply to every eclipse.org subproject with gerrit, not just team (or even just platform)... so perhaps we should move this discussion to the cross-team issues mailing list?
Comment 13 Dani Megert CLA 2016-04-11 08:09:16 EDT
(In reply to Stefan Xenos from comment #12)
> +1 for setting this to "not an error"
> 
> However I'd say that "ignore" would be preferable to "warning" since
> warnings are things we want the end user to do something about and - for the
> vast majority of contributors - there is no added benefit to having a bunch
> of extra JVMs installed.
> 
> I'd also say that this should apply to every eclipse.org subproject with
> gerrit, not just team (or even just platform)... so perhaps we should move
> this discussion to the cross-team issues mailing list?

A compromise would be to not set this in the project. That way, those developers who want to set this as an error can do so. Or they can set it to 'Info' or 'Ignore'.
Comment 14 Ed Merks CLA 2016-04-11 08:42:02 EDT
Yes, it's the project-specific nature of the setting that makes it particularly problematic.  It's easy to set a global preference and with Oomph a developer can set this preference once and for all for all their workspaces and IDEs. But a project-specific preference can only be changed by making the git clone dirty.
Comment 15 Lars Vogel CLA 2016-04-11 12:28:58 EDT
(In reply to Dani Megert from comment #13)
> A compromise would be to not set this in the project. That way, those
> developers who want to set this as an error can do so. Or they can set it to
> 'Info' or 'Ignore'.

@Szymon, are you as project lead OK with this suggestion? I think this would also the problem for the constributors, still allow you to have this as error for you.
Comment 16 Dani Megert CLA 2016-04-11 13:17:28 EDT
(In reply to Lars Vogel from comment #15)
> @Szymon, are you as project lead OK with this suggestion? I think this would
> also the problem for the constributors, still allow you to have this as
> error for you.

Can you translate this to English please ;-)
Comment 17 Lars Vogel CLA 2016-04-11 13:22:13 EDT
(In reply to Dani Megert from comment #16)
> (In reply to Lars Vogel from comment #15)
> > @Szymon, are you as project lead OK with this suggestion? I think this would
> > also the problem for the constributors, still allow you to have this as
> > error for you.
> 
> Can you translate this to English please ;-)

@Szymon, are you, as project lead, OK with this suggestion from Dani?
Comment 18 Szymon Ptaszkiewicz CLA 2016-04-11 14:03:29 EDT
(In reply to Lars Vogel from comment #17)
> @Szymon, are you, as project lead, OK with this suggestion from Dani?

If we can make this a platfrom-wide policy for at least all components that are part of Eclipse SDK, then I think it makes sense.
Comment 19 Stefan Xenos CLA 2016-04-11 14:22:02 EDT
Renaming bug to match the current proposal.
Comment 20 Stefan Xenos CLA 2016-04-11 14:23:04 EDT
I'm not sure what component to assign this to now, though.
Comment 21 Lars Vogel CLA 2016-04-11 14:34:25 EDT
(In reply to Stefan Xenos from comment #20)
> I'm not sure what component to assign this to now, though.

As it affects the whole SDK, I think the PMC component is right. I bring in out in the next PMC meeting.
Comment 22 Lars Vogel CLA 2016-04-12 11:49:02 EDT
The PMC decided that all project from the top-level project should remove their project specific settings for the Java Compiler -> Building settings. 

This  eaves it to the developer to configure this. This way, each developer can decide, if he wants to see an error or warning for "strictly compatible JRE".

I will provide a patch for team. @Stefan, maybe you can provide patches for other projects which use project specific settings for the "Building" preferences.
Comment 23 Eclipse Genie CLA 2016-04-12 11:51:03 EDT
New Gerrit change created: https://git.eclipse.org/r/70490
Comment 24 Dani Megert CLA 2016-04-12 12:31:05 EDT
(In reply to Lars Vogel from comment #22)
> The PMC decided that all project from the top-level project should remove
> their project specific settings for the Java Compiler -> Building settings. 

The decision was only made for the concrete setting mentioned int his bug and not for all settings on that page. For details see https://wiki.eclipse.org/Eclipse/PMC#Meeting_Minutes
Comment 25 Lars Vogel CLA 2016-04-12 12:43:12 EDT
(In reply to Dani Megert from comment #24)
> (In reply to Lars Vogel from comment #22)
> > The PMC decided that all project from the top-level project should remove
> > their project specific settings for the Java Compiler -> Building settings. 
> 
> The decision was only made for the concrete setting mentioned int his bug
> and not for all settings on that page. For details see
> https://wiki.eclipse.org/Eclipse/PMC#Meeting_Minutes


Is that possible? AFAIK you cannot remove a single setting.
Comment 26 Dani Megert CLA 2016-04-12 12:46:50 EDT
(In reply to Lars Vogel from comment #25)
> (In reply to Dani Megert from comment #24)
> > (In reply to Lars Vogel from comment #22)
> > > The PMC decided that all project from the top-level project should remove
> > > their project specific settings for the Java Compiler -> Building settings. 
> > 
> > The decision was only made for the concrete setting mentioned int his bug
> > and not for all settings on that page. For details see
> > https://wiki.eclipse.org/Eclipse/PMC#Meeting_Minutes
> 
> 
> Is that possible? AFAIK you cannot remove a single setting.

Sure. It's per single pref.
Comment 27 Lars Vogel CLA 2016-04-12 12:55:48 EDT
(In reply to Dani Megert from comment #26)
> Sure. It's per single pref.

I don't see how to do this via the user interface. The combo has warning, error, info and ignore. So your suggestion is to delete this directly from the .settings. Correct?
Comment 28 Stefan Xenos CLA 2016-04-12 15:13:36 EDT
> delete this directly from the .settings

I believe that would work. Let's try it!
Comment 29 Dani Megert CLA 2016-04-13 05:00:41 EDT
(In reply to Lars Vogel from comment #27)
> (In reply to Dani Megert from comment #26)
> > Sure. It's per single pref.
> 
> I don't see how to do this via the user interface. The combo has warning,
> error, info and ignore. So your suggestion is to delete this directly from
> the .settings. Correct?

Yep.
Comment 30 Eclipse Genie CLA 2016-04-18 10:24:39 EDT
New Gerrit change created: https://git.eclipse.org/r/70866
Comment 31 Eclipse Genie CLA 2016-04-18 10:57:50 EDT
New Gerrit change created: https://git.eclipse.org/r/70870
Comment 32 Eclipse Genie CLA 2016-04-18 11:16:13 EDT
New Gerrit change created: https://git.eclipse.org/r/70871
Comment 33 Eclipse Genie CLA 2016-04-18 11:24:56 EDT
New Gerrit change created: https://git.eclipse.org/r/70872
Comment 34 Stefan Xenos CLA 2016-04-18 11:28:23 EDT
I've attached the changes for JDT UI, debug, core, and the related oomph setup files... if someone would be kind enough to take a look.
Comment 35 Eclipse Genie CLA 2016-04-18 11:35:11 EDT
New Gerrit change created: https://git.eclipse.org/r/70874
Comment 36 Eclipse Genie CLA 2016-04-18 12:13:44 EDT
New Gerrit change created: https://git.eclipse.org/r/70877
Comment 37 Eclipse Genie CLA 2016-04-18 12:31:40 EDT
New Gerrit change created: https://git.eclipse.org/r/70880
Comment 38 Eclipse Genie CLA 2016-04-18 12:49:25 EDT
New Gerrit change created: https://git.eclipse.org/r/70882
Comment 39 Eclipse Genie CLA 2016-04-18 13:24:17 EDT
New Gerrit change created: https://git.eclipse.org/r/70892
Comment 43 Eclipse Genie CLA 2016-04-18 21:00:52 EDT
New Gerrit change created: https://git.eclipse.org/r/70924
Comment 48 Sarika Sinha CLA 2016-04-19 13:04:17 EDT
(In reply to Eclipse Genie from comment #33)
> New Gerrit change created: https://git.eclipse.org/r/70872

How about Platform Debug and Core changes? Are you planning to provide it ?
Comment 49 Sarika Sinha CLA 2016-04-19 13:04:52 EDT
(In reply to Sarika Sinha from comment #48)
> (In reply to Eclipse Genie from comment #33)
> > New Gerrit change created: https://git.eclipse.org/r/70872
> 
> How about Platform Debug and Core changes? Are you planning to provide it ?

Typo, Platform Debug and Ant !!!
Comment 50 Stefan Xenos CLA 2016-04-19 13:16:14 EDT
> Typo, Platform Debug and Ant !!!

As far as I can tell, none of the Ant projects override this preference. If you're aware of one that I missed, please contribute a patch.

I'll follow up with a patch to Debug.
Comment 51 Eclipse Genie CLA 2016-04-19 13:20:58 EDT
New Gerrit change created: https://git.eclipse.org/r/70985
Comment 52 Stefan Xenos CLA 2016-04-19 13:23:18 EDT
Please see attached for the change to debug.
Comment 53 Sarika Sinha CLA 2016-04-19 13:29:38 EDT
(In reply to Stefan Xenos from comment #50)
> > Typo, Platform Debug and Ant !!!
> 
> As far as I can tell, none of the Ant projects override this preference. If
> you're aware of one that I missed, please contribute a patch.
> 
> I'll follow up with a patch to Debug.

We have it in ant.core, ant.ui, ant.launching, ant.tests.core, ant.tests.ui where the preference is defaulted to error.
I will do the required changes.
Comment 56 Stefan Xenos CLA 2016-04-20 01:03:11 EDT
Thanks, Sharika!
Comment 58 Stefan Xenos CLA 2016-04-22 13:26:41 EDT
I think there's just one last patch left before we can mark this as fixed. Ed, can you take a look?
Comment 59 Sergey Prigogin CLA 2016-04-22 13:37:14 EDT
The remaining patch is probably https://git.eclipse.org/r/#/c/70882/
Comment 60 Szymon Ptaszkiewicz CLA 2016-04-27 07:10:32 EDT
I have run a search query against all git repositories used in Eclipse SDK and the setting is still present in the following repositories: eclipse.platform.releng, eclipse.platform.resources, eclipse.platform.text, eclipse.platform.ui.tools and eclipse.platform.ui.
Comment 61 Dani Megert CLA 2016-05-03 05:24:23 EDT
(In reply to Szymon Ptaszkiewicz from comment #60)
> I have run a search query against all git repositories used in Eclipse SDK
> and the setting is still present in the following repositories:
> eclipse.platform.releng, eclipse.platform.resources, eclipse.platform.text,
> eclipse.platform.ui.tools and eclipse.platform.ui.

Please file separate bugs reports.

I'm considering the PMC's task done.
Comment 62 Lars Vogel CLA 2016-05-03 05:41:01 EDT
(In reply to Dani Megert from comment #61) 
> Please file separate bugs reports.

Filled Bug 492875 for:
- eclipse.platform.text,
- eclipse.platform.ui.tools
- eclipse.platform.ui
Comment 63 Stefan Xenos CLA 2016-05-03 12:09:44 EDT
Filed bug 492911 for the changes to the resources plugin.
Comment 64 Stefan Xenos CLA 2016-05-03 12:21:41 EDT
Filed bug 492911 for the changes to releng
Comment 65 Stefan Xenos CLA 2016-05-03 12:22:29 EDT
(In reply to Stefan Xenos from comment #64)
> Filed bug 492911 for the changes to releng

My bad. That should have been bug 492912.
Comment 66 Ed Merks CLA 2016-05-10 00:29:02 EDT
*** Bug 493261 has been marked as a duplicate of this bug. ***
Comment 67 Lars Vogel CLA 2016-07-08 05:30:32 EDT
I think we should also set the "Execution Environment references not checked because no Environment descriptions are installed" to warning. I clone this bug so that we can discuss that.
Comment 68 Lars Vogel CLA 2016-09-27 08:47:23 EDT
Looks like we forgot the Ant projects. Created Bug 502245 for that.