Skip to content

Releases: salesforce/bazel-eclipse

BEF 1.5.3 September 2022 Maintenance Release

01 Oct 05:06
0314fba
Compare
Choose a tag to compare

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.

BEF 1.5.2 April 2022 Support Targets in Root Package

19 Apr 05:47
Compare
Choose a tag to compare

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.

BEF 1.5.1 Feb 2022 Performance Fixes for Bazel JUnit Launcher

10 Feb 19:39
Compare
Choose a tag to compare

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.

BEF 1.5.0 Oct 2021 Flexible Package Structures

14 Oct 07:43
40c7e7a
Compare
Choose a tag to compare

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.

BEF 1.4.1 July 2021 JUnit Test Launcher Rework

16 Jul 04:53
Compare
Choose a tag to compare

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:

  • When running tests, users were presented with a confusing choice in the Eclipse Run menu of JUnit Test or Bazel JUnit Target. The latter option has been removed with this release.
  • Running tests with the standard JUnit Test option previously resulted in a Class Not Found exception. Only the Bazel JUnit Target option worked.
  • Tests were slow to launch because the test classpath was computed multiple times.

As a result of the redesign, you will notice these differences:

  • Please delete any JUnit launchers you have in your workspace that were created before this release.
  • The first time you run tests in the Eclipse workspace, you will be asked to choose the launcher in the UI. You will need to choose the Bazel JUnit Launcher.
  • Test invocations are quicker.

As with all releases starting with 1.4.0, this new release is supported on Windows in addition to Linux and macOS.

🔥 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).

BEF 1.4.0 July 2021 Windows Support

07 Jul 01:12
Compare
Choose a tag to compare

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:

  • Global Search Classpath feature is now enabled by default #260
  • Support for re-importing a Bazel workspace into an existing Eclipse workspace (it used to fail with errors) #242
  • Package Explorer view now has full listing of files at the root of each project (was previously filtered) #180
  • Added a Known Issues page for some common problems hit by users

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):

🔥 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).

BEF 1.3.1 May 2021 Launch of Update Site, and Tech Debt

16 May 03:50
Compare
Choose a tag to compare

This is almost entirely a devops and tech debt release for us. There are two user-visible changes:

  • A small usability bug was partially fixed. Now all file types that exist in the root of each Bazel package will appear in the Project/Package Explorers. See #180 for details and limitations.
  • The new BEF CI workflow produces a release build and publishes it to our new Eclipse update site, hosted on GitHub Pages. This means users no longer need to download the BEF archive to install it, just point Eclipse to our update site. (thanks @guw)

Additional internal changes, that are not visible to users:

  • BEF is now built on the command line using the Maven Tycho plugins. This modernized our build process. Release builds are now cut from command line builds instead of exported from the Eclipse SDK. (thanks @guw)
  • Now that we have a command line build, BEF also now has CI support. We have build workflows defined using GitHub Actions (thanks again @guw)
  • Removed our internal dependency on Guava for the BEF code base, since we were barely using it. See #219

BEF 1.3.0 March 2021

13 Mar 05:30
fe5ce94
Compare
Choose a tag to compare

This is a feature release with a number of small to medium sized enhancements:

  • Big improvement to the performance of Bazel Import. Optimized out invocations of Bazel by combining commands. #131
  • Support workspaces with the same package name in multiple paths (//lib1/apple, //lib2/apple) #40
  • Project View directories will now recursively add all subpaths. #69
  • Numerous bug fixes and stability improvements. See Project 1.3 for the detailed list.

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.

BEF 1.2.3 October 2020

09 Oct 05:51
Compare
Choose a tag to compare

This patch release provides some bug fixes, and also early access to features officially planned for our upcoming 1.3 release.

Features:

  • Support for soft-linked WORKSPACE files #164

Bugs and improvements:

  • Error in computing classpath - Bazel built lib of package was put on its own classpath in JDT; harmless but incorrect #170
  • Closing the IDE or a project is now near instantaneous, where previously there could be long delays #113 #156
  • Reopening an Eclipse Workspace can hang on a Bazel command #144
  • Modest speed improvements for import

BEF 1.2.2 October 2020

07 Oct 05:34
9bbe3f2
Compare
Choose a tag to compare

This is another point release to deliver an important usability issue:

  • BEF now recomputes the classpath if a project's BUILD file changes #39

and early access to two smaller features planned for the upcoming 1.3 release: