Skip to content

Inline o.e.jdt.launching.macosx into jdt.launching#855

Merged
iloveeclipse merged 2 commits into
eclipse-jdt:masterfrom
HannesWell:inline-jdt.launching.macosx
Jun 9, 2026
Merged

Inline o.e.jdt.launching.macosx into jdt.launching#855
iloveeclipse merged 2 commits into
eclipse-jdt:masterfrom
HannesWell:inline-jdt.launching.macosx

Conversation

@HannesWell

Copy link
Copy Markdown
Contributor

What it does

This simplifies the assembly of Eclipse runtimes on MacOS.

Fixes #849

Author checklist

@HannesWell

Copy link
Copy Markdown
Contributor Author

Before this is submitted, the plugin should also be removed from the JDT feature:
https://github.com/eclipse-jdt/eclipse.jdt/blob/696fa4f553ce2cbc9389d20422e54654a8561a15/org.eclipse.jdt-feature/feature.xml#L117-L120

I can provide a PR for that as well.
And will remove all references to the plugin introduced to handle the current situation.

@HannesWell

Copy link
Copy Markdown
Contributor Author

@iloveeclipse what do you think about this effort respectively can you tell who else would be interested?

@SougandhS SougandhS force-pushed the inline-jdt.launching.macosx branch from 99fedc6 to fd29413 Compare February 18, 2026 00:33
@iloveeclipse

Copy link
Copy Markdown
Member

@HannesWell : technically the change should work.

I just have some weird feeling hard coding previously separately contributed extension & bundle, but I also don't see how it would be possible today to avoid that this extension is being used on Mac, so it is "implicitly" hard coded to be always contributed, except one manipulates extension registry via code.

Looking at the bundle history, I see it was originally using native scripts and binaries to launch something on Mac. That was probably the reason why it was provided as separated bundle. See for example c8ace81 or 9b792ae.

I'm not sure if we would need to have some special native bits again on Mac in the future.

@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from fd29413 to 1226433 Compare March 3, 2026 17:38
@eclipse-jdt-bot

eclipse-jdt-bot commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

This pull request changes some projects for the first time in this development cycle.
Therefore the following files need a version increment:

org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
org.eclipse.jdt.debug.ui/pom.xml

An additional commit containing all the necessary changes was pushed to the top of this PR's branch. To obtain these changes (for example if you want to push more changes) either fetch from your fork or apply the git patch.

Git patch
From 0ae32b879ed6c66c403db57fed00e15d3a21ebb5 Mon Sep 17 00:00:00 2001
From: Eclipse JDT Bot <jdt-bot@eclipse.org>
Date: Mon, 8 Jun 2026 18:00:59 +0000
Subject: [PATCH] Version bump(s) for 4.41 stream


diff --git a/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
index d79023ca1..a36b0b98a 100644
--- a/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.debug.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jdt.debug.ui; singleton:=true
-Bundle-Version: 3.15.400.qualifier
+Bundle-Version: 3.15.500.qualifier
 Bundle-Activator: org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/org.eclipse.jdt.debug.ui/pom.xml b/org.eclipse.jdt.debug.ui/pom.xml
index 8f60cab50..743144ba4 100644
--- a/org.eclipse.jdt.debug.ui/pom.xml
+++ b/org.eclipse.jdt.debug.ui/pom.xml
@@ -18,7 +18,7 @@
   </parent>
   <groupId>org.eclipse.jdt</groupId>
   <artifactId>org.eclipse.jdt.debug.ui</artifactId>
-  <version>3.15.400-SNAPSHOT</version>
+  <version>3.15.500-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   <properties>
   	<defaultSigning-excludeInnerJars>true</defaultSigning-excludeInnerJars>
-- 
2.54.0

Further information are available in Common Build Issues - Missing version increments.

@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch 2 times, most recently from 8ccb7e5 to 3f80e6b Compare March 3, 2026 17:45
@HannesWell

Copy link
Copy Markdown
Contributor Author

I just have some weird feeling hard coding previously separately contributed extension & bundle, but I also don't see how it would be possible today to avoid that this extension is being used on Mac, so it is "implicitly" hard coded to be always contributed, except one manipulates extension registry via code.

Agree. But I don't have a better idea to restore the exact state as before. I'm not aware that Extensions can be contributed conditionally in a plugin.xml.
For me the question is, if there is a real chance that anybody is intercepting the contribution of that extension?
Although I assume the chance is low (I assume one can also not intercept regular VMInstallTypes for other platforms?), I changed the check to still check the extension registry first and only use the hard-coded implementation as back-up.
This way, external contributions are still considered.

Looking at the bundle history, I see it was originally using native scripts and binaries to launch something on Mac. That was probably the reason why it was provided as separated bundle. See for example c8ace81 or 9b792ae.

I'm not sure if we would need to have some special native bits again on Mac in the future.

I cannot say that, but I hope not.
Nevertheless in case native code is necessary again, the FFM API could be used without the need for real native code. And a few extra classes or resources just for Mac would IMO not hurt.
And if the situation changes completely and it becomes necessary, we could still reintroduce the separate plugin, reverting that change.

@iloveeclipse if you agree with this and don't have requests for code changes, I can prepare the changes necessary in other repositories as outlined in

@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from dab87da to 20eaece Compare March 4, 2026 05:50
@HannesWell

Copy link
Copy Markdown
Contributor Author

@iloveeclipse how to proceed here?
Now would be a good time in the release cycle.

@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from 20eaece to cec9d0e Compare March 28, 2026 16:49
@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from cec9d0e to 8b908e9 Compare April 8, 2026 20:57
@HannesWell

Copy link
Copy Markdown
Contributor Author

@iloveeclipse any update on this?
Otherwise, who else would be interested in reviewing this?

@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from 8b908e9 to 3f00245 Compare June 8, 2026 07:16
@HannesWell

Copy link
Copy Markdown
Contributor Author

@iloveeclipse can we proceed with this? I think now would be a good time.
Since neither I nor you (as far as I know) are on Mac, @BeckerWdf can you (or one of your colleagues) or @HeikoKlare help with testing this on a real Mac?

@iloveeclipse

Copy link
Copy Markdown
Member

@SougandhS : I believe you are using Mac? Can you test this patch?

@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from ef2ff8b to 71ddbad Compare June 8, 2026 07:43
@SougandhS

SougandhS commented Jun 8, 2026

Copy link
Copy Markdown
Member

Hi @HannesWell
With this patch 2 MacOS X VM is shown in Add new JRE page

image

EDIT:
I tested it by simply running a child eclipse with your changes. Is it to be checked in a different way ?

This simplifies the assembly of Eclipse runtimes on MacOS.

Fixes eclipse-jdt#849
@HannesWell HannesWell force-pushed the inline-jdt.launching.macosx branch from 0e31378 to 98514b7 Compare June 8, 2026 17:59
@HannesWell

Copy link
Copy Markdown
Contributor Author

With this patch 2 MacOS X VM is shown in Add new JRE page

Thank you for testing this!
I believe this is because you still have the to be removed org.eclipse.jdt.launching.macosx fragment in the launched runtime.
In general this change also requires to remove that fragment from the JDT feature:

I have now added a guard to prevent adding the macOS VM type twice. I think that's still useful in case some installations don't have the fragment properly removed.
It would be great if you could test this again, with and without the org.eclipse.jdt.launching.macosx fragment being removed from the JDT feature to also verify that the mentioned guard works as expected.

@SougandhS

Copy link
Copy Markdown
Member

I tested again with and without eclipse-jdt/eclipse.jdt#160 and it is now not showing twice in both cases.

@SougandhS SougandhS left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@SougandhS SougandhS added this to the 4.41 M2 milestone Jun 9, 2026
@iloveeclipse

Copy link
Copy Markdown
Member

I tested again with and without eclipse-jdt/eclipse.jdt#160 and it is now not showing twice in both cases.

Thanks! OK, let us merge this.

@iloveeclipse iloveeclipse merged commit f35ed46 into eclipse-jdt:master Jun 9, 2026
13 checks passed
iloveeclipse pushed a commit to eclipse-jdt/eclipse.jdt that referenced this pull request Jun 9, 2026
@HannesWell HannesWell deleted the inline-jdt.launching.macosx branch June 9, 2026 05:35
@HannesWell

Copy link
Copy Markdown
Contributor Author

Great! Thanks to all of you.

HannesWell added a commit to eclipse-pde/eclipse.pde that referenced this pull request Jun 9, 2026
HannesWell added a commit to eclipse-platform/eclipse.platform.ui that referenced this pull request Jun 9, 2026
HannesWell added a commit to eclipse-platform/eclipse.platform that referenced this pull request Jun 9, 2026
@SougandhS SougandhS modified the milestones: 4.41 M2, 4.41 M1 Jun 10, 2026
datho7561 added a commit to eclipse-jdtls/eclipse.jdt.ls that referenced this pull request Jun 12, 2026
It's been inlined into o.e.jdt.launching (see
eclipse-jdt/eclipse.jdt.debug#855)

Fixes the build

Signed-off-by: David Thompson <davthomp@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Inline o.e.jdt.launching.macosx

4 participants