Extending Eclipse JDT to Support Java Projects with a Bazel Build
summary
A Bazel Eclipse Feature (BEF) integrates Eclipse JDT with Bazel by mapping each Bazel package to an Eclipse project, computing precise classpaths by querying Bazel, and imports subset of 400+ packages so users avoid 400 projects in the IDE. Builds and problems come from Bazel — BEF delegates all builds to Bazel to ensure fidelity — and it adds a synthetic "workspace" project for global type search plus a custom Bazel JUnit launcher for correct test classpaths. It works for Java but rejects Bazel edge cases like nonstandard source layouts and package cycles.
AI-written summary · about
chapters (29)
- 0:00Intro
- 0:20Salesforce
- 1:15Agenda
- 1:48What is a modern repo
- 3:10What is Bazel
- 5:52What Bazel looks like
- 6:46IDE Support for Bazel
- 7:27The Landscape
- 10:14Reality Check
- 11:04Why Eclipse
- 12:47Walk through
- 13:13Importing packages
- 15:38Build Fidelity
- 16:26Global Type Search
- 17:09Custom Launcher
- 18:11Extension Points
- 18:55Interfaces
- 19:23impedance mismatches
- 20:07Flexibilities
- 20:37IDE Fidelity
- 21:31JDT 1520 Years
- 21:46Package Mapping
- 22:38JDT Class Paths
- 25:07Bazel Dependencies
- 26:11Nested Source Folders
- 26:46Package Declarations
- 27:49Wrapup
- 28:39QA
- 34:54Bug
related talks
07mLightning Talk – Bazel Eclipse Feature
09mLightning Talk – Building Eclipse Plug-Ins (and OSGi Bundles) with Bazel
28mBeyond LSP: Extensions for Java
08mBazel: what aspects can tell us about your project?
31mMaking Eclipse JDT Future–ready - Java 11 and Beyond
36mMigrating from PDE to Bndtools in Practice
29mEclipse JDT Embraces Java 9 - An Insider's view
39mExtending JDT with Language Servers
