Skip to content

Conversation

@jonahgraham
Copy link
Contributor

The Eclipse Terminal feature replaces a whole set of features that the TM project used to provide. The granularity of the TM project is collapsed into a single feature in Eclipse Terminal. For ISVs that require additional granularity they are advised to provide their own features that lists their requirements

With this PR all the org.eclipse.tm.terminal.* features will update to org.eclipse.terminal (except the cdtserial and remote connectors that are now considered downstream features of the terminal). There is a cooresponding CDT terminal change to remove all the now redundant org.eclipse.tm.terminal features from future update sites.

There is precedence for handling the rename in this way, when org.eclipse.tcf.te.terminals.feature was renamed to org.eclipse.tm.terminal.feature a p2.inf entry was created to handle upgrades across the rename.

Example

For example if you start with EPP CPP 2025-09 which has org.eclipse.tm.terminal.feature and org.eclipse.tm.terminal.connector.cdtserial.feature explicitly included in the product file then you end up with the following installed:

eclipse/features/org.eclipse.tm.terminal.connector.cdtserial.feature_12.2.0.202507250901
eclipse/features/org.eclipse.tm.terminal.connector.local.feature_12.2.0.202507240827
eclipse/features/org.eclipse.tm.terminal.connector.ssh.feature_12.2.0.202507241300
eclipse/features/org.eclipse.tm.terminal.connector.telnet.feature_12.2.0.202507241539
eclipse/features/org.eclipse.tm.terminal.control.feature_12.2.0.202507251115
eclipse/features/org.eclipse.tm.terminal.feature_12.2.0.202507251115
eclipse/features/org.eclipse.tm.terminal.view.feature_12.2.0.202507251115

With this PR, updating will lead you to have only the serial and eclipse terminal features:

eclipse/features/org.eclipse.terminal.feature_1.0.100.v20251014-2032
eclipse/features/org.eclipse.tm.terminal.connector.cdtserial.feature_12.3.0.202510141948

This will be presented as the following to users on check for updates:

Screenshot From 2025-10-14 17-07-33

(Note that by the time CDT release for 2025-12 the exact behavior / name of cdt serial may be updated too so this screenshot may be out of date by then)

Testing

To test this I did

  1. Build the aggregator with this change included
  2. Build CDT with the corresponding update (PR link to be provided soon)
  3. Unpack eclipse-cpp-2025-09-R-linux-gtk-x86_64.tar.gz and run Eclipse
  4. Add the update sites from step 1 and step 2 to available software sites
  5. Run check for updates
  6. Check that the old org.eclipse.tm.terminal features are removed and the org.eclipse.terminal was installed (the latest cdtserial connector should be present/updated too)
  7. Make sure terminal works

I repeated the above, using the same build output from 1, 2 to make sure a manual install of the terminal would update properly

  1. Unpack eclipse-platform-4.37-linux-gtk-x86_64.tar.gz and run Eclipse
  2. Install the Eclipse Terminal (org.eclipse.terminal)
  3. Add the update sites from step 1 and step 2 to available software sites
  4. Run check for updates
  5. Check that the org.eclipse.terminal was updated
  6. Make sure terminal works

I repeated the above, using the same build output from 1, 2 to make sure an update from a much older version works

  1. Unpack eclipse-platform-4.28-linux-gtk-x86_64.tar.gz and run Eclipse (2 year old Eclipse)
  2. Install the Eclipse TM Terminal (org.eclipse.tm.terminal)
  3. Add the update sites from step 1 and step 2 to available software sites
  4. Run check for updates
  5. Check that the old org.eclipse.tm.terminal features are removed and the org.eclipse.terminal was installed
  6. Make sure terminal works

I repeated the above, using the same build output from 1, 2 to check how p2 handles finding a newer org.eclipse.tm.terminal and a newer org.eclipse.terminal

  1. Unpack eclipse-cpp-2025-06-R-linux-gtk-x86_64.tar.gz and run Eclipse - by using this version there is a new version of org.eclipse.tm.terminal available in https://download.eclipse.org/releases/latest (which is in available software sites by default for users of EPP)
  2. Add the update sites from step 1 and step 2 to available software sites
  3. Run check for updates two times - on first iteration org.eclipse.tm.terminal will be updated to latest org.eclipse.tm.terminal, and on the second it will be updated to org.eclipse.terminal
  4. Check that the old org.eclipse.tm.terminal features are removed and the org.eclipse.terminal was installed (the latest cdtserial connector should be present/updated too)
  5. Make sure terminal works

…rminal

The Eclipse Terminal feature replaces a whole set of features that the
TM project used to provide. The granularity of the TM project is
collapsed into a single feature in Eclipse Terminal. For ISVs that
require additional granularity they are advised to provide their own
features that lists their requirements
@jonahgraham
Copy link
Contributor Author

The matching CDT PR is eclipse-cdt/cdt#1358

@github-actions
Copy link
Contributor

Test Results

 1 947 files  + 27   1 947 suites  +27   1h 52m 3s ⏱️ - 1m 1s
 4 721 tests ±  0   4 696 ✅ ±  0   24 💤 ±0  1 ❌ +1 
14 163 runs  +153  13 995 ✅ +153  167 💤 ±0  1 ❌ +1 

For more details on these failures, see this check.

Results for commit d3f7c2b. ± Comparison against base commit 5a5410b.

@jonahgraham
Copy link
Contributor Author

There was a test failure that looks unrelated in the windows build

1 out of 3 runs failed: testAllLinks (AllTests LinkTest)

artifacts/test-results-windows-latest/ua/org.eclipse.ua.tests.doc/target/surefire-reports/TEST-org.eclipse.ua.tests.doc.internal.linkchecker.LinkTest.xml [took 14s]

I can see this has been flaky in the past (see #1725 (comment)) so I am taking the same action of retriggering the build to confirm green check on Windows.

jonahgraham added a commit to jonahgraham/packages that referenced this pull request Oct 15, 2025
This change requires eclipse-platform/eclipse.platform#2199
to be merged for users to get the same results when upgrading
EPPs as installing new EPPs.
jonahgraham added a commit to eclipse-packaging/packages that referenced this pull request Oct 15, 2025
This change requires eclipse-platform/eclipse.platform#2199
to be merged for users to get the same results when upgrading
EPPs as installing new EPPs.
@merks
Copy link
Contributor

merks commented Oct 15, 2025

But somehow the status of the tests didn't update properly. I'm going to merge.

@merks merks merged commit 7c2d8b8 into eclipse-platform:master Oct 15, 2025
20 of 22 checks passed
@jonahgraham jonahgraham deleted the update-terminal branch October 15, 2025 13:16
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.

2 participants