-
Notifications
You must be signed in to change notification settings - Fork 67
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
Remove short-named equinox.launcher.cocoa.macosx fragment #622
Remove short-named equinox.launcher.cocoa.macosx fragment #622
Conversation
|
1111892
to
0c44c0e
Compare
0c44c0e
to
740aba9
Compare
@tjwatson any objections about this? I didn't find any other reference to |
The fragment org.eclipse.equinox.launcher.cocoa.macosx is removed in [1] since there are architecture specific replacements now. [1] - eclipse-equinox/equinox#622
To do that, I prepared eclipse-equinox/equinox.binaries#4 |
Do you mean the |
As mentioned in #625 it is used when launching a child Eclipse instance on Mac aarch64. Is that perhaps coded somewhere in PDE? |
As far as I understand it, in a primary Eclipse the launcher library fragment is computed already in the executable. But if you launch a secondary Eclipse the exe is not involved but the native fragment is determined/searched in the I think the problem is that currently in case the os is mac and the arch is |
Sorry, I just read this:
Will check the PR tomorrow! |
@HannesWell Actually I just did a quick smoke test:
|
Thank you for the fast check and the reference. Regarding the removal of the What also confuses me in general: |
From my own usage on
On AFAICT your PR should resolve this discrepancy. |
To be clear - on my Mac |
Could you please also check what the value of the |
Here: private String getArch() {
if (arch != null) arch is |
Tested on |
It's not a problem on |
AFAICT this PR should just work. Is it possible to create a build to test it? Or maybe just commit and I can test the I-build on x86_64 and aarch64. |
Hard link When I investigated at that time I found there is a hard coding in p2 builder for mac to look for mac universal binaries/libraries(meaning I could not find the exactly where to change so as a stop gap I added hard link Please do check whether you are able to do a full SDK build locally. if the SDK build works we can go ahead with this changes. |
Yes, my confusion was because I miss-understood the braces in equinox/bundles/org.eclipse.equinox.launcher/src/org/eclipse/equinox/launcher/Main.java Line 453 in fadf6d1
With negations pushed down the condition actually is Furthermore it's not the executable that searches for the launcher's native fragment, it is recorded in the ini file (or specified as CLI argument) via the
In my Oomph provisioned SDK it is an absolute path to that fragment located in my User bundle-pool and for the Eclipse SDK for mac-aarch64 it is:
Thank you Sravan for the elaboration, with that and my confusion from above resolved I now understand what is going on. And found the following locations that need adjustment:
IIRC also also saw such pattern in PDE-build but I can't find it anymore. All these locations could be changed to use the full-named launcher fragment in all cases, but I think it would be best if the requirement informations are encoded in the main launcher bundle or its fragments.
I have now created #629 to only apply the changes in the Main class to first of all address #625. Eventually removing the |
740aba9
to
2d4ae1e
Compare
You mean |
You are right. Sorry, Copy-paste-mistake. |
For for Mac OS X there was no equinox-launcher fragment for CARBON with full name, i.e. with <ws>.<os>.<arch> suffix, but only a org.eclipse.equinox.launcher.carbon.macosx fragment. But since Eclipse 4.2, released 2012, CARBON is not supported anymore at all [1]. Therefore the code adjust to that special naming schema, which also imposed difficulties or new supported architectures on Macos should be removed. See also eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
For for Mac OS X there was no equinox-launcher fragment for CARBON with full name, i.e. with <ws>.<os>.<arch> suffix, but only a org.eclipse.equinox.launcher.carbon.macosx fragment. But since Eclipse 4.2, released 2012, CARBON is not supported anymore at all [1]. Therefore the code adjust to that special naming schema, which also imposed difficulties or new supported architectures on Macos should be removed. See also eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
For for Mac OS X there was no equinox-launcher fragment for CARBON with full name, i.e. with <ws>.<os>.<arch> suffix, but only a org.eclipse.equinox.launcher.carbon.macosx fragment. But since Eclipse 4.2, released 2012, CARBON is not supported anymore at all [1]. Therefore the code adjust to that special naming schema, which also imposed difficulties or new supported architectures on Macos should be removed. See also eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
For for Mac OS X there was no equinox-launcher fragment for CARBON with full name, i.e. with <ws>.<os>.<arch> suffix, but only a org.eclipse.equinox.launcher.carbon.macosx fragment. But since Eclipse 4.2, released 2012, CARBON is not supported anymore at all [1]. Therefore the code adjust to that special naming schema, which also imposed difficulties or new supported architectures on Macos should be removed. See also eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
AbstractArtifactDependencyWalker The AbstractArtifactDependencyWalker is only used to determine the build-qualifier of of features, products and repositories and for that should only consider what's contained in those assembly-artifacts. It therefore should not add any special fragments to the set of considered artifacts. This also helps to simplify the situation for equinox-launcher fragments for Mac, where still a special treatment for CARBON API artifacts exists, although the org.eclipse.equinox.launcher.carbon.macosx artifact is not supported anymore since 2012 [1]. Required for eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
AbstractArtifactDependencyWalker The AbstractArtifactDependencyWalker is only used to determine the build-qualifier of of features, products and repositories and for that should only consider what's contained in those assembly-artifacts. It therefore should not add any special fragments to the set of considered artifacts. This also helps to simplify the situation for equinox-launcher fragments for Mac, where still a special treatment for CARBON API artifacts exists, although the org.eclipse.equinox.launcher.carbon.macosx artifact is not supported anymore since 2012 [1]. Required for eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
AbstractArtifactDependencyWalker The AbstractArtifactDependencyWalker is only used to determine the build-qualifier of of features, products and repositories and for that should only consider what's contained in those assembly-artifacts. It therefore should not add any special fragments to the set of considered artifacts. This also helps to simplify the situation for equinox-launcher fragments for Mac, where still a special treatment for CARBON API artifacts exists, although the org.eclipse.equinox.launcher.carbon.macosx artifact is not supported anymore since 2012 [1]. Required for eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
AbstractArtifactDependencyWalker The AbstractArtifactDependencyWalker is only used to determine the build-qualifier of of features, products and repositories and for that should only consider what's contained in those assembly-artifacts. It therefore should not add any special fragments to the set of considered artifacts. This also helps to simplify the situation for equinox-launcher fragments for Mac, where still a special treatment for CARBON API artifacts exists, although the org.eclipse.equinox.launcher.carbon.macosx artifact is not supported anymore since 2012 [1]. Required for eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
AbstractArtifactDependencyWalker The AbstractArtifactDependencyWalker is only used to determine the build-qualifier of of features, products and repositories and for that should only consider what's contained in those assembly-artifacts. It therefore should not add any special fragments to the set of considered artifacts. This also helps to simplify the situation for equinox-launcher fragments for Mac, where still a special treatment for CARBON API artifacts exists, although the org.eclipse.equinox.launcher.carbon.macosx artifact is not supported anymore since 2012 [1]. Required for eclipse-equinox/equinox#622 [1] - https://download.eclipse.org/eclipse/updates/4.2/R-4.2-201206081400
The fragment org.eclipse.equinox.launcher.cocoa.macosx is removed in [1] since there are architecture specific replacements now. [1] - eclipse-equinox/equinox#622
The fragment org.eclipse.equinox.launcher.cocoa.macosx is removed in [1] since there are architecture specific replacements now. [1] - eclipse-equinox/equinox#622
2d4ae1e
to
a4557ef
Compare
f3e4a20
to
d7926bd
Compare
Good news:
So this can finally be submitted. This also means that from 2024-12 on-wards Eclipse products for Mac can only be build with Tycho 4.0.9 or later (no clue the state of ancient versions). |
d7926bd
to
5815854
Compare
The full-named org.eclipse.equinox.launcher.cocoa.macosx.x86_64 fragment exists for a long time already and users of the old short-named variant should have had enough time to migrate. And remove consideration of old development locations of the launcher fragments.
5815854
to
590aebf
Compare
Sporadic build failures are unrelated (eclipse-platform/eclipse.platform.releng.aggregator#2360 (comment)). Submitting. |
The fragment org.eclipse.equinox.launcher.cocoa.macosx is removed in [1] since there are architecture specific replacements now. [1] - eclipse-equinox/equinox#622
The full-named org.eclipse.equinox.launcher.cocoa.macosx.x86_64 fragment exists for a long time already and users of the old short-named variant should have had enough time to migrate.
This would also allow to remove the sym-link in the binaries repo:
https://github.com/eclipse-equinox/equinox.binaries/blob/af72d120b237ca99ff37c345e9d0ec20ed49f48a/org.eclipse.equinox.launcher.cocoa.macosx#L1
I wonder why it is pointing to the aarch64 fragment/binaries, altough arch64 support was add about only three years ago, while the short-named fragment exists for over 13 years.
Additionally remove consideration of old development locations of the launcher fragments.