@@ -10,14 +10,12 @@ Eclipse Platform UI provides the UI building blocks for Eclipse IDE and Eclipse
1010- ** Language:** Java 17
1111- ** Build System:** Maven 3.9.x with Tycho (OSGi/Eclipse plugin build)
1212- ** Architecture:** OSGi bundles, E4 application model
13- - ** Size:** 127 MB, 7,675+ Java files
14- - ** Structure:** 57 production bundles + 34 test bundles + 25 examples
1513
1614## Project Structure
1715
1816```
1917eclipse.platform.ui/
20- ├── bundles/ # 57 OSGi bundles (production code)
18+ ├── bundles/ # OSGi bundles (production code)
2119│ ├── org.eclipse.ui.workbench # Main workbench implementation
2220│ ├── org.eclipse.jface # JFace toolkit (viewers, dialogs, etc.)
2321│ ├── org.eclipse.jface.databinding # Data binding framework
@@ -26,8 +24,8 @@ eclipse.platform.ui/
2624│ ├── org.eclipse.core.databinding* # Core data binding
2725│ ├── org.eclipse.e4.ui.* # E4 workbench, CSS, DI, model
2826│ └── org.eclipse.ui.* # UI components (IDE, editors, views, etc.)
29- ├── tests/ # 34 test bundles (mirror structure of bundles/)
30- ├── examples/ # 25 example bundles
27+ ├── tests/ # Test bundles (mirror structure of bundles/)
28+ ├── examples/ # Example bundles
3129├── features/ # Eclipse feature definitions
3230├── releng/ # Release engineering artifacts
3331├── docs/ # Documentation (JFace, RCP, Commands, etc.)
@@ -128,18 +126,13 @@ mvn clean compile -Pbuild-individual-bundles -DskipTests
128126- Production: ` bundles/org.eclipse.jface `
129127- Tests: ` tests/org.eclipse.jface.tests `
130128
131- ### JUnit Version Status (October 2025)
129+ ### JUnit Guidelines
132130
133- ** Current Migration State:**
134- - ** JUnit 5 (Modern):** 7 bundles fully migrated, 5 partially migrated
135- - ** JUnit 4 (Current):** 11 bundles ready for migration, majority of tests
136- - ** JUnit 3 (Legacy):** Only in ` org.eclipse.ui.tests.harness ` as compatibility bridge
137-
138- ** When writing new tests:**
139131- Prefer JUnit 5 (` org.junit.jupiter.api.* ` ) for new tests
140132- Use ` @BeforeEach ` /` @AfterEach ` instead of ` @Before ` /` @After `
141133- Use ` @Disabled ` instead of ` @Ignore `
142134- Use ` Assertions.* ` instead of ` Assert.* `
135+ - JUnit 3 usage is limited to compatibility helpers (e.g., ` org.eclipse.ui.tests.harness ` )
143136
144137** Common test pattern:**
145138``` java
@@ -321,17 +314,9 @@ public void execute(IEclipseContext context) {
321314
322315## CI/GitHub Workflows
323316
324- ** Primary workflow:** ` .github/workflows/ci.yml `
325- - Triggers on push/PR to master (ignores ` docs/ ` and ` *.md ` )
326- - Uses ` eclipse.platform.releng.aggregator ` for full build
327- - Runs on Java 21 with xvnc for headless UI tests
328-
329- ** Validation steps:**
330- 1 . Compiler checks (Eclipse compiler)
331- 2 . API compatibility (API tools)
332- 3 . Javadoc generation
333- 4 . Unit tests (JUnit with UI harness)
334- 5 . Test reports published
317+ - CI definition: ` .github/workflows/ci.yml ` (runs full aggregator build)
318+ - PRs are gated by: compiler checks, API compatibility, Javadoc, and unit/UI tests
319+ - UI tests run with the Eclipse UI harness in headless mode
335320
336321## Troubleshooting
337322
0 commit comments