Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
c877469
Adapt size of Dialogs with default size upon zoom change
HeikoKlare Oct 28, 2025
c6e9f0f
Perform clean code of bundles/org.eclipse.ui.workbench.texteditor
eclipse-platform-bot Nov 4, 2025
c8fa9e7
Fix flaky test FileSearchTests.testBinaryContentTypeWithDescriber
vogella Nov 4, 2025
d0ffa3e
Updated yourkit to latest
iloveeclipse Nov 7, 2025
77780b5
The loadFilePatternDefaults() method has been commented out since 2006
elsazac Nov 6, 2025
87352d6
Fix race condition in ResourceInitialSelectionTest by adding event lo…
vogella Oct 25, 2025
191a1c7
Remove unused JUnit Rule and TestName imports
vogella Nov 4, 2025
9e1b6e0
Add E4 ToolBarContribution documentation
Copilot Nov 7, 2025
337f3ad
The single quotes around the placeholder in
elsazac Nov 6, 2025
ef09467
Fix flaky DecoratorAdaptableTests by waiting for decorator jobs
vogella Nov 7, 2025
6f2025c
Add copilot-setup-steps and adjust AGENTS.md to reflect requirements
laeubi Nov 8, 2025
0da755a
Avoid removal warning in AnimatorFactory due to java-doc reference
HannesWell Nov 8, 2025
f655706
Fix flaky testItemOrder in ProgressViewTests
vogella Nov 4, 2025
6c82a83
Remove unused NLS entry
HeikoKlare Nov 9, 2025
37ad17d
Migrate org.eclipse.ui.monitoring.tests from JUnit 4 to JUnit 5
vogella Oct 24, 2025
39d028e
Fix flaky ProgressContantsTest.testKeepOneProperty race condition
vogella Nov 9, 2025
a7958c4
Bump actions/checkout from 4 to 5
dependabot[bot] Nov 10, 2025
02dabfc
Bump actions/setup-java from 4 to 5
dependabot[bot] Nov 10, 2025
1a43fc1
MultipageEditorPart check for tab disposal when getting Editor
azoitl Nov 10, 2025
d9dbf78
Fix flaky HoverTest.testEnabledWhenHover() race condition
vogella Nov 10, 2025
933b741
This pr marks several unused deprecated methods, constants for removal.
deepika-u Oct 27, 2025
6b6dd81
This commit enhances Quick Search dialog with
deepika-u Sep 24, 2025
a2174ff
Fix race condition in ProgressContantsTest.testKeepOneProperty
vogella Nov 11, 2025
dd5d18e
Fix flaky DynamicTest.testDynamicRegistry race condition
vogella Nov 11, 2025
0e238b7
Migrate org.eclipse.ui.tests.navigator from JUnit 4 to JUnit 5
vogella Nov 10, 2025
601b0d3
Remove commented out code that does not serve as documentation
vogella Nov 6, 2025
6d2b614
Fix flaky FileSearchTests.testBinaryContentTypeWithDescriber race con…
vogella Nov 12, 2025
7a24db1
Fix flaky PartRenderingEngineTests.ensureCleanUpAddonCleansUp race co…
vogella Nov 12, 2025
200996c
Improve fix for flaky ResourceInitialSelectionTest race condition
vogella Nov 12, 2025
9abc505
Fix alignment of onboarding area command labels
HeikoKlare Nov 12, 2025
f6c9bd4
Fix race condition in RCPTestWorkbenchAdvisor test harness
vogella Nov 4, 2025
374cc99
Version bump(s) for 4.38 stream
eclipse-platform-bot Nov 4, 2025
4391448
Replace Phaser with CountDownLatch for reliable synchronization
vogella Nov 7, 2025
55574d8
Fix race condition in RCPTestWorkbenchAdvisor by removing premature e…
vogella Nov 12, 2025
7c0684c
Fix flaky QuickAccessComputerTest by waiting for async search results
vogella Nov 13, 2025
343fd57
Performance: Cache method calls in loops and optimize string
vogella Nov 5, 2025
a3fa065
Fix flaky PartRenderingEngineTests.ensureCleanUpAddonCleansUp race co…
vogella Nov 14, 2025
ccd5d59
DEMONSTRATION: Inject delay to reproduce race condition
vogella Nov 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "Copilot Setup Steps"

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
workflow_dispatch:
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
# The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up JDK 21
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'temurin'
cache: 'maven'

- name: Set up Maven 3.9.11
uses: stCarolas/setup-maven@v5
with:
maven-version: '3.9.11'

8 changes: 2 additions & 6 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ This file provides guidance to AI Agents (claude-code, codex, gemini cli, ...) w
Eclipse Platform UI provides the UI building blocks for Eclipse IDE and Eclipse Rich Client Platform (RCP). This includes JFace, workbench, commands framework, data binding, dialogs, editors, views, perspectives, and more. Built on top of SWT (Eclipse Standard Widget Toolkit).

**Key Facts:**
- **Language:** Java 17
- **Build System:** Maven 3.9.x with Tycho (OSGi/Eclipse plugin build)
- **Language:** Java 21
- **Build System:** Maven 3.9.11 with Tycho (OSGi/Eclipse plugin build)
- **Architecture:** OSGi bundles, E4 application model

## Project Structure
Expand Down Expand Up @@ -64,10 +64,6 @@ Each bundle contains:

### Critical Limitation

**⚠️ IMPORTANT:** Standalone `mvn clean verify` at repository root **WILL FAIL** with "Non-resolvable parent POM" error. This repository requires a parent POM from `eclipse.platform.releng.aggregator`.

### Building Individual Bundles

Use the `-Pbuild-individual-bundles` profile:

```bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ public void ignorableAtRule(String atRule) throws CSSException {
if (!getNodeStack().empty()) {
((CSSRuleListImpl) getNodeStack().peek()).add(ir);
} else {
// _getNodeStack().push(ir);
nodeRoot = ir;
}
}
Expand All @@ -100,10 +99,6 @@ public void ignorableAtRule(String atRule) throws CSSException {
public void namespaceDeclaration(String prefix, String uri)
throws CSSException {
//TODO replace with eclipse logging
// if (logger.isDebugEnabled()) {
// logger.debug("Declare namespace [prefix=" + prefix + ", uri=" + uri
// + "]");
// }
}

@Override
Expand All @@ -116,7 +111,6 @@ public void importStyle(String uri, SACMediaList media,
if (!getNodeStack().empty()) {
((CSSRuleListImpl) getNodeStack().peek()).add(ir);
} else {
// _getNodeStack().push(ir);
nodeRoot = ir;
}
}
Expand All @@ -125,27 +119,12 @@ public void importStyle(String uri, SACMediaList media,
public void startMedia(SACMediaList media) throws CSSException {

ignore = true;
// // Create the media rule and add it to the rule list
// CSSMediaRuleImpl mr = new CSSMediaRuleImpl(parentStyleSheet, null,
// new MediaListImpl(media));
// if (!getNodeStack().empty()) {
// ((CSSRuleListImpl) getNodeStack().peek()).add(mr);
// }
//
// // Create the rule list
// CSSRuleListImpl rules = new CSSRuleListImpl();
// mr.setRuleList(rules);
// getNodeStack().push(mr);
// getNodeStack().push(rules);
}

@Override
public void endMedia(SACMediaList media) throws CSSException {

ignore = false;
// // Pop the rule list and media rule nodes
// getNodeStack().pop();
// nodeRoot = getNodeStack().pop();
}

@Override
Expand Down Expand Up @@ -176,26 +155,11 @@ public void endPage(String name, String pseudo_page) throws CSSException {
@Override
public void startFontFace() throws CSSException {
ignore = true;
// // Create the font face rule and add it to the rule list
// CSSFontFaceRuleImpl fontFaceRule = new CSSFontFaceRuleImpl(
// parentStyleSheet, null);
// if (!getNodeStack().empty()) {
// ((CSSRuleListImpl) getNodeStack().peek()).add(fontFaceRule);
// }
//
// // Create the style declaration
// CSSStyleDeclarationImpl decl = new CSSStyleDeclarationImpl(fontFaceRule);
// fontFaceRule.setStyle(decl);
// getNodeStack().push(fontFaceRule);
// getNodeStack().push(decl);
}

@Override
public void endFontFace() throws CSSException {
ignore = false;
// // Pop both the style declaration and the font face rule nodes
// getNodeStack().pop();
// nodeRoot = getNodeStack().pop();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ public void menuAboutToHide(IMenuManager manager) {
* {@link MDynamicMenuContribution} application model elements
*/
private void processDynamicElements(MMenu menuModel, MenuManager menuManager) {
MMenuElement[] menuElements = menuModel.getChildren().toArray(
new MMenuElement[menuModel.getChildren().size()]);
List<MMenuElement> children = menuModel.getChildren();
MMenuElement[] menuElements = children.toArray(new MMenuElement[children.size()]);
for (MMenuElement currentMenuElement : menuElements) {

if (currentMenuElement instanceof MDynamicMenuContribution dmc) {
Expand Down Expand Up @@ -154,9 +154,9 @@ private void processDynamicElements(MMenu menuModel, MenuManager menuManager) {
if (mel.size() > 0) {

int position = 0;
while (position < menuModel.getChildren().size()) {
if (currentMenuElement == menuModel.getChildren().get(
position)) {
children = menuModel.getChildren();
while (position < children.size()) {
if (currentMenuElement == children.get(position)) {
position++;
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ private void initializeOnboardingInformationInEditorStack(CTabFolder editorStack

String[] commandAndText = commands[i].split("\\$\\$\\$"); //$NON-NLS-1$

WidgetFactory.label(SWT.NONE).text(commandAndText[0]).foreground(color)
WidgetFactory.label(SWT.NONE).text(commandAndText[0]).foreground(color).align(SWT.RIGHT)
.supplyLayoutData(labelGridDataFactory::create).create(onboardingComposite);
WidgetFactory.label(SWT.NONE).text(commandAndText[1]).foreground(color)
.supplyLayoutData(commandGridDataFactory::create).create(onboardingComposite);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -294,33 +294,6 @@ TextEdit replace(IMultiTextSelection selection, String replacement) {
TextEdit replace= new ReplaceEdit(region.getOffset(), region.getLength(), string);
root.addChild(replace);
}
// while (lastDelim != -1) {
// // more stuff to insert
// String string;
// Match m= delimiterMatcher.indexOf(replacement, lastDelim);
// if (m == null) {
// string= replacement.substring(lastDelim);
// lastDelim= -1;
// } else {
// string= replacement.substring(lastDelim, m.getOffset());
// lastDelim= m.getOffset() + m.getText().length();
// }
// endLine++;
// TextEdit edit;
// if (endLine < fDocument.getNumberOfLines()) {
// edit= createReplaceEdit(endLine, visualStartColumn, visualEndColumn, string, delete);
// } else {
// // insertion reaches beyond the last line
// int insertLocation= root.getExclusiveEnd();
// int spaces= visualStartColumn;
// char[] array= new char[spaces];
// Arrays.fill(array, ' ');
// string= TextUtilities.getDefaultLineDelimiter(fDocument) + String.valueOf(array) + string;
// edit= new InsertEdit(insertLocation, string);
// insertLocation+= string.length();
// }
// root.addChild(edit);
// }
return root;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public static String read(Reader rd) {
* @param bgRGB Background-Color
* @param styleSheet Stylesheet
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void insertPageProlog(StringBuffer buffer, int position, RGB fgRGB, RGB bgRGB, String styleSheet) {
runOp(buffer, (sb) -> CORE.insertPageProlog(sb, position, fromRGB(fgRGB), fromRGB(bgRGB), styleSheet));
}
Expand Down Expand Up @@ -164,7 +164,7 @@ public static void insertStyles(StringBuilder buffer, String[] styles) {
*
* @deprecated As of 3.13, replaced by {@link #insertStyles(StringBuilder, String[])}
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void insertStyles(StringBuffer buffer, String[] styles) {
runOp(buffer, (sb) -> CORE.insertStyles(sb, styles));
}
Expand All @@ -186,7 +186,7 @@ public static void insertPageProlog(StringBuilder buffer, int position) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void insertPageProlog(StringBuffer buffer, int position) {
runOp(buffer, (sb) -> CORE.insertPageProlog(sb, position));
}
Expand All @@ -199,7 +199,7 @@ public static void insertPageProlog(StringBuffer buffer, int position) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void insertPageProlog(StringBuffer buffer, int position, URL styleSheetURL) {
runOp(buffer, (sb) -> CORE.insertPageProlog(sb, position, styleSheetURL));
}
Expand Down Expand Up @@ -234,7 +234,7 @@ public static void insertPageProlog(StringBuilder buffer, int position, String s
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void insertPageProlog(StringBuffer buffer, int position, String styleSheet) {
runOp(buffer, (sb) -> CORE.insertPageProlog(sb, position, styleSheet));
}
Expand All @@ -254,7 +254,7 @@ public static void addPageProlog(StringBuilder buffer) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addPageProlog(StringBuffer buffer) {
runOp(buffer, CORE::addPageProlog);
}
Expand All @@ -269,7 +269,7 @@ public static void addPageEpilog(StringBuilder buffer) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addPageEpilog(StringBuffer buffer) {
runOp(buffer, CORE::addPageEpilog);
}
Expand All @@ -289,7 +289,7 @@ public static void startBulletList(StringBuilder buffer) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void startBulletList(StringBuffer buffer) {
runOp(buffer, CORE::startBulletList);
}
Expand All @@ -311,7 +311,7 @@ public static void endBulletList(StringBuilder buffer) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void endBulletList(StringBuffer buffer) {
runOp(buffer, CORE::endBulletList);
}
Expand All @@ -335,7 +335,7 @@ public static void addBullet(StringBuilder buffer, String bullet) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addBullet(StringBuffer buffer, String bullet) {
runOp(buffer, (sb) -> CORE.addBullet(sb, bullet));
}
Expand All @@ -361,7 +361,7 @@ public static void addSmallHeader(StringBuilder buffer, String header) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addSmallHeader(StringBuffer buffer, String header) {
runOp(buffer, (sb) -> CORE.addSmallHeader(sb, header));
}
Expand All @@ -383,17 +383,17 @@ public static void addParagraph(StringBuilder buffer, String paragraph) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addParagraph(StringBuffer buffer, String paragraph) {
runOp(buffer, (sb) -> CORE.addParagraph(sb, paragraph));
}

/**
* Appends a string and keeps its whitespace and newlines.
* <p>
* <b>Warning:</b> This starts a new paragraph when rendered in a browser, but
* it doesn't starts a new paragraph when rendered with a {@link HTML2TextReader}
* (e.g. in a {@link DefaultInformationControl} that renders simple HTML).
* <b>Warning:</b> This starts a new paragraph when rendered in a browser, but it doesn't starts
* a new paragraph when rendered with a {@link HTML2TextReader} (e.g. in a
* {@link DefaultInformationControl} that renders simple HTML).
*
* @param buffer the output StringBuilder
* @param preFormatted the string that should be rendered with whitespace preserved
Expand All @@ -409,9 +409,9 @@ public static void addPreFormatted(StringBuilder buffer, String preFormatted) {
/**
* Appends a string and keeps its whitespace and newlines.
* <p>
* <b>Warning:</b> This starts a new paragraph when rendered in a browser, but
* it doesn't starts a new paragraph when rendered with a {@link HTML2TextReader}
* (e.g. in a {@link DefaultInformationControl} that renders simple HTML).
* <b>Warning:</b> This starts a new paragraph when rendered in a browser, but it doesn't starts
* a new paragraph when rendered with a {@link HTML2TextReader} (e.g. in a
* {@link DefaultInformationControl} that renders simple HTML).
*
* @param buffer the output buffer
* @param preFormatted the string that should be rendered with whitespace preserved
Expand All @@ -422,7 +422,7 @@ public static void addPreFormatted(StringBuilder buffer, String preFormatted) {
* @see #convertToHTMLContentWithWhitespace(String)
* @since 3.7
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addPreFormatted(StringBuffer buffer, String preFormatted) {
runOp(buffer, (sb) -> CORE.addPreFormatted(sb, preFormatted));
}
Expand All @@ -444,7 +444,7 @@ public static void addParagraph(StringBuilder buffer, Reader paragraphReader) {
*
* @deprecated migrate to new StringBuilder API
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public static void addParagraph(StringBuffer buffer, Reader paragraphReader) {
runOp(buffer, (sb) -> CORE.addParagraph(sb, paragraphReader));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -382,16 +382,16 @@ protected IInformationControl doCreateInformationControl(Shell parent) {
*
* @deprecated use {@link #setInput(Object)}
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
@Override
public void setInformation(String content) {
content= addCSSToHTMLFragment(content);
super.setInformation(content);
}

/**
* Adds a HTML header and CSS info if <code>html</code> is only an HTML fragment (has no
* &lt;html&gt; section).
* Adds a HTML header and CSS info if <code>html</code> is only an HTML fragment
* (has no &lt;html&gt; section).
*
* @param html the html / text produced by a revision
* @return modified html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ public DefaultInformationControl(Shell parent, IInformationPresenter presenter)
* @param presenter the presenter to be used
* @deprecated As of 3.4, replaced by simpler constructors
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public DefaultInformationControl(Shell parent, int shellStyle, int style, IInformationPresenter presenter) {
this(parent, shellStyle, style, presenter, null);
}
Expand Down Expand Up @@ -269,7 +269,7 @@ public DefaultInformationControl(Shell parentShell, int shellStyle, final int st
* @param presenter the presenter to be used
* @deprecated As of 3.4, replaced by {@link #DefaultInformationControl(Shell, DefaultInformationControl.IInformationPresenter)}
*/
@Deprecated
@Deprecated(forRemoval= true, since= "2025-12")
public DefaultInformationControl(Shell parent, int textStyles, IInformationPresenter presenter) {
this(parent, textStyles, presenter, null);
}
Expand Down
Loading
Loading