This repo holds two IDE projects. One is the Eclipse Feature for developing Bazel projects in Eclipse. The Bazel Eclipse Feature supports importing, building, and testing Java projects that are built using the Bazel build system. The other is the Bazel Java Language Server, which is a build integration for IDEs such as VS Code.
This release provides no features. It fixes an issue with installing BEF on the latest version of Eclipse (2022-09). Prior to this BEF release, installation would be blocked due to missing logback plugins.
Prior to this release, a BUILD file in the root of the Bazel workspace would be ignored. It was thought to be an uncommon practice to root source code in the root of the repository. But based on user feedback, we learned this was more common than we thought. This release supports importing of the Java targets in the BUILD file at the root of the workspace. See issue #404 for more details.
We had an internal use case in which a single Bazel package had a large set of java_test targets. This surfaced a performance issue in BEF experienced when launching tests. There would be a large delay before the tests started running. See Issue #381.
The problem was that the generated Eclipse JDT test classpath produced by BEF was adding the Bazel deploy jars from every test in the Bazel package. The deploy jars are large as they contain copies of all main and test classpath classes. Including them in the JDT test classpath bloated the classpath with many duplicated classes. This caused the launching of tests to be very slow.
The main feature of this release is to remove the requirement that Bazel packages adhere to the Maven file layout conventions (src/main/java and src/test/java). We believe BEF can now handle any reasonable file layout structure. The only exception is that test source code must be located in a directory path that has a directory name that starts with the word test. See this document for more details.
This release also fixes a number of usability issues and bugs. Details of what issues were resolved can be seen on the 1.5.0 Release Project page. This release is supported on Macos, Linux and Windows.
Our next release is being managed with our 1.6.0 Release project page. The primary focus of the next release will be performance improvements during import of projects from large Bazel workspaces.
This is a patch release to resolve a couple of long standing issues with launching JUnit tests in Bazel workspaces. This work is a bug fix, but required a redesign of the original feature and so has some user-facing impacts. With this patch release, BEF now uses the standard JUnit infrastructure for launching tests.
This release fixes:
As a result of the redesign, you will notice these differences:
As with all releases starting with 1.4.0, this new release is supported on Windows in addition to Linux and macOS.
:fire: Note that this release is affected by #293. Your test classpath will be incorrect if you rely on the Bazel implicit classpath (described in #43).
This is the 1.4.0 Release. The biggest feature of the 1.4.0 release is support for Windows!
BEF has always been supported on macOS and Linux. As of 1.4.0, support has been added to Windows. There was a lot of work clarifying and fixing all path related code in BEF to make this possible. Testing has been done, and we believe Windows support is at parity with macOS and Linux. The BEF Windows support page has important details and Windows specific setup instructions.
Other improvements and fixes in 1.4.0 includes:
The archive zip is attached to this post which can be used for installation. Or, we have an Eclipse update site for the release candidate here (easier option):
:fire: Note that this release is affected by #293. Your test classpath will be incorrect if you rely on the Bazel implicit classpath (described in #43).
This is almost entirely a devops and tech debt release for us. There are two user-visible changes:
Additional internal changes, that are not visible to users:
This is a feature release with a number of small to medium sized enhancements:
This release was put on hold for four months as we diverted efforts onto other projects to satisfy internal users. Gotta pay the bills. The Bazel Spring Boot rule for example received a lot of attention during this time. We will try to resume BEF development, but this may be the last release for a while. See Project 1.4 for the next features in the plan.
This patch release provides some bug fixes, and also early access to features officially planned for our upcoming 1.3 release.
Features:
Bugs and improvements:
This is another point release to deliver an important usability issue:
and early access to two smaller features planned for the upcoming 1.3 release: