Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide Oomph setup configuration for relevant repositories individually #2430

Open
10 of 11 tasks
HannesWell opened this issue Oct 6, 2024 · 18 comments
Open
10 of 11 tasks
Assignees
Labels
enhancement New feature or request

Comments

@HannesWell
Copy link
Member

HannesWell commented Oct 6, 2024

For the Eclipse top level projects Eclipse-Platform, Equinox, JDT and PDE there is currently only one Oomph Configuration per organization that contains all the project respectively repositories in that organization.

In order to simplify the contribution process there should be one configuration per repository for the following relevant respectively active ones. Having less projects in a configuration means less variables to configure during the setup process and reduces the number of projects in the workspace being set up.

All of these repositories should advertise the configuration in a prominent location using the styled button for it, just like it's done for PDE:
https://github.com/eclipse-pde/eclipse.pde?tab=readme-ov-file#how-to-contribute

All other repositories are either inactive or are only relevant for advanced contributors and advanced use-cases.

The project definition can stay at the their current location, usually centrally managed in one 'main' repo of an organization. In the configuration they can just be referenced through the global catalog.

Community

  • I understand suggesting an enhancement doesn't mandate anyone to implement it. Other contributors may consider this suggestion, or not, at their own convenience. The most efficient way to get it fixed is that I implement it myself and contribute it back as a good quality patch to the project.
@HannesWell HannesWell added the enhancement New feature or request label Oct 6, 2024
@HannesWell HannesWell self-assigned this Oct 6, 2024
HannesWell added a commit to HannesWell/eclipse.platform that referenced this issue Oct 6, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Oct 6, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Oct 6, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
@opcoach
Copy link
Member

opcoach commented Oct 7, 2024

should we add the egit/jgit setup in the list ?

@merks
Copy link
Contributor

merks commented Oct 7, 2024

Note that egit/jgit are a bit challenging in terms of contribution in that you can only contribute via gerrit not via pull requests.

@jukzi
Copy link
Contributor

jukzi commented Oct 7, 2024

Having less projects in a configuration means less variables to configure during the setup process

Is that realy a good goal? All those projects are connected and if you see only one of them you will probably easyly break another that (illegally) uses internals or is an x-friend.

@opcoach
Copy link
Member

opcoach commented Oct 7, 2024

Note that egit/jgit are a bit challenging in terms of contribution in that you can only contribute via gerrit not via pull requests.

Yes the review tooling is specific... I opened a change on egit 1 month ago and it is still not merged ... the gerrithub configuration is explained in the configuration documentation... we will only mention in eclipse-ide the kind of tooling for contribution (PR or gerrithub).

Is that realy a good goal? All those projects are connected and if you see only one of them you will probably easyly break another that (illegally) uses internals or is an x-friend.

That can be a problem indeed, ... but if a contribution should be done on platform.ui it would be nice to work only on platform.ui and not must be constrained to load also platform... Is there so much x-friend links that goes out of a repository ? I hope no

Keep in mind, that what we propose is for new contributors who will focus on a specific issue. For 'advanced' contributors they will keep their current install if they want, with a global oomph setup that will install all the projects.

@HannesWell
Copy link
Member Author

HannesWell commented Oct 7, 2024

Having less projects in a configuration means less variables to configure during the setup process

Is that realy a good goal? All those projects are connected and if you see only one of them you will probably easyly break another that (illegally) uses internals or is an x-friend.

While this would nice to avoid the described class of errors you described, I assume a significant number of contributors doesn't have all projects of the Eclipse SDK in one workspace any way. At least I work on the repos forming the SDK from multiple workspaces and not one. It can't be enforced anyway and we already have configurations for Equinox, PDE and JDT that only include only the repositories of the respective projects.

Having all project's in the workspace can not only be overwhelming but can also make working with them inconvenient because it slows down the workspace build. If you apply the Eclipse SDK configuration the variables page looks like this (and the list almost doubles if one chooses to set the absolute path for each repo):
grafik

I assume that's not appealing for new contributors and it makes the installation process run longer and the more is done the higher is the chance for trouble. And in the end the workspace is more crowded and it's therefore more difficult to find the desired project. Furthermore it also means that one has to manage more git repositories.

So while having all SDK projects in one workspace has the good effect that problems due to changed internals are hopefully discovered early, I don't think it's worth all the down-sites, especially since it doesn't happen that often. And in the end a failed I-build is IMO not a drama, it's not nice, but something that can often be fixed quickly.

should we add the egit/jgit setup in the list ?

If the same is desired for jgit/egit it should be tracked in their repositories. But due to the mentioned special setup, contributors might benefit from automation even more.

HannesWell added a commit to HannesWell/eclipse.platform that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
and clean-up the build instructions.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
and clean-up the build instructions.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.ui that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
and clean-up the build instructions.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to eclipse-platform/eclipse.platform.ui that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
and clean-up the build instructions.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to eclipse-platform/eclipse.platform that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.swt that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/eclipse.platform.swt that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to eclipse-platform/eclipse.platform.swt that referenced this issue Oct 7, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
@HannesWell
Copy link
Member Author

HannesWell commented Oct 7, 2024

The all three active eclipse-platform repositories now have a individual configuration and an 'Oomph setup button' referencing it in their README.

Do you think I should also add one just for the eclipse.platform.releng.aggregator repo?

I'll continue with Equinox and P2 in the next days.

* [ ]  https://github.com/eclipse-jdt/eclipse.jdt.core
* [ ]  https://github.com/eclipse-jdt/eclipse.jdt.debug
* [ ]  https://github.com/eclipse-jdt/eclipse.jdt.ui

@jarthana, @iloveeclipse or @jukzi do you want to have that for JDT as well? Since I'm not a committer a supporting committer that submits my PRs is needed.
As a reference, in the end the How to contribute section could look like this with an individualized 'Oomph-setup button' for each JDT repository:
https://github.com/eclipse-platform/eclipse.platform?tab=readme-ov-file#how-to-contribute

@iloveeclipse
Copy link
Member

do you want to have that for JDT as well?

Why not? It wouldn't harm and may be even help someone to provide a fix, so yes, please.
May be you could provide a combined setup including all three JDT repos at https://github.com/eclipse-jdt?

@merks
Copy link
Contributor

merks commented Oct 8, 2024

May be you could provide a combined setup including all three JDT repos at https://github.com/eclipse-jdt?

A combined setup configuration for all of JDT's git repositories already exists (as it does for each of the Eclipse TLP projects):

https://github.com/eclipse-jdt/.github/blob/main/CONTRIBUTING.md#create-an-eclipse-development-environment

@laeubi
Copy link
Contributor

laeubi commented Oct 8, 2024

Is that realy a good goal? All those projects are connected and if you see only one of them you will probably easyly break another that (illegally) uses internals or is an x-friend.

This is already a problem anyways not very well covered by the current verification builds (and especially cumbersome for JDT) for platform we have already merged a lot of stuff that makes it less of a problem.

In any case the solution should be to remove the coupling and internal usage, not to force contributors to checkout and mange multiple repositories.

@laeubi
Copy link
Contributor

laeubi commented Oct 8, 2024

By the way I would handle platform + platform.ui as one they are only separated for technical reasons (build time) not really semantically and closely related.

Maybe in this case one can either link to one of them or simply copy the file (if its easier) so it does not matter what repo is choosen.

@opcoach
Copy link
Member

opcoach commented Oct 8, 2024

What about the news and noteworthy if a contribution has to be documented ?

I think It would be nice to have the repository for news and Noteworthy in each setup. But ...

News and noteworthy has been moved from this old location https://git.eclipse.org/c/www.eclipse.org/eclipse/news.git/ to a folder 'news' in the https://github.com/eclipse-platform/www.eclipse.org-eclipse

This repository is used to manage the content of ' https://www.eclipse.org/eclipse/' website. So there are a lot of files that do not really concern the 'news and noteworthy'... (some contributions are 19 years old ...)...

There is a contribution guide which is available here https://github.com/eclipse-platform/www.eclipse.org-eclipse/blob/master/CONTRIBUTING.md and it is focused only on 'News and Noteworthy' and not on the other parts of this repository... It seems that it is a copy of the old one....

There are 2 published pages extracted from the 'news' folder : https://eclipse.dev/eclipse/news/ and https://eclipseide.org/release/noteworthy/

This is probably organized like this for technical reasons, but this 'news' folder should be probably hosted in a single repository... Regarding the size for the download, the total repository size is 318 Mb and the news folder is 107 Mb...

What do you think of adding this repository to each setup ?

HannesWell added a commit to HannesWell/eclipse.jdt.core that referenced this issue Oct 9, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/p2 that referenced this issue Oct 12, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/p2 that referenced this issue Oct 12, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/equinox that referenced this issue Oct 12, 2024
And reference the new equinox.p2 configuration added in the
eclipse-equinox/p2 repository.

Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/p2 that referenced this issue Oct 12, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/equinox that referenced this issue Oct 13, 2024
And reference the new equinox.p2 configuration added in the
eclipse-equinox/p2 repository.

Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/p2 that referenced this issue Oct 13, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/p2 that referenced this issue Oct 13, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to eclipse-equinox/p2 that referenced this issue Oct 13, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/equinox that referenced this issue Oct 13, 2024
And reference the new equinox.p2 configuration added in the
eclipse-equinox/p2 repository.

Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to HannesWell/equinox that referenced this issue Oct 13, 2024
And reference to the new equinox.p2 configuration added to the
eclipse-equinox/p2 repository.

Additionally add a styled and drag&drop-able Oomph Configuration button
to the main README.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to eclipse-equinox/.github that referenced this issue Oct 13, 2024
HannesWell added a commit to eclipse-equinox/.github that referenced this issue Oct 13, 2024
HannesWell added a commit to HannesWell/equinox that referenced this issue Oct 13, 2024
Remove the p2 project from the EquinoxConfiguration.setup and
unify/clean-up it's content.

And add a reference to the new equinox.p2 configuration added to the
eclipse-equinox/p2 repository.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
HannesWell added a commit to eclipse-equinox/equinox that referenced this issue Oct 13, 2024
Remove the p2 project from the EquinoxConfiguration.setup and
unify/clean-up it's content.

And add a reference to the new equinox.p2 configuration added to the
eclipse-equinox/p2 repository.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
praveen-skp pushed a commit to praveen-skp/eclipse.platform.ui that referenced this issue Oct 14, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
and clean-up the build instructions.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
@opcoach
Copy link
Member

opcoach commented Oct 14, 2024

It would be nice to have all the E4 spies installed in all the UI setup to help the UI debug ....

@merks
Copy link
Contributor

merks commented Oct 15, 2024

Does one need them in the host IDE or just in the self hosted launch? The "debugging" comment makes it sound like the latter which would need to be listed here:

image

Is it this feature you'd want in the target platform?

image

@opcoach
Copy link
Member

opcoach commented Oct 15, 2024

Spies should be available to test the launched application ... So not in the host IDE, rather in the self hosted launch. I can't see the images in your comment but I guess you mentioned the org.eclipse.pde.spies.feature or something like that.

In the run configuration proposed in a project, spies should be added on demand.

merks added a commit to merks/eclipse.platform.releng.aggregator that referenced this issue Oct 16, 2024
@merks
Copy link
Contributor

merks commented Oct 16, 2024

I added the swt spies feature as well for sleak support.

@merks merks closed this as completed Oct 16, 2024
@HannesWell
Copy link
Member Author

Thanks for adding the spies Ed.

But although this issue is almost completed it is not yet fully completed, the configuration for this repo is still pending.

Furthermore I plan to remove the now obsolete eclipse.git.authentication.style variable from the existing configurations:
eclipse-equinox/equinox#689 (comment)

@HannesWell HannesWell reopened this Oct 16, 2024
lathapatil pushed a commit to lathapatil/eclipse.platform.ui that referenced this issue Oct 21, 2024
Additionally add a styled and drag&drop-able Oomph Configuration button
and clean-up the build instructions.

Part of eclipse-platform/eclipse.platform.releng.aggregator#2430
@akurtakov
Copy link
Member

Is there anything still pending here ?

@HannesWell
Copy link
Member Author

Is there anything still pending here ?

Yes, the configuration for this repository, but I try to provide it ASAP to make this complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants