This code has been been merged back into bazel-eclipse. No further development activity will happen here.
This is the set of Eclipse plugins for developing Bazel projects in Eclipse. Currently supports running in a language server mode only (through the Eclipse JDT LS).
- com.salesforce.b2eclipse.jdt.ls - the code which does all that Bazel-related stuff for building classpaths before they can be further processed by JDT.
- com.salesforce.b2eclipse.repository - here you can find the outcome of the build (packaged plugins).
- com.salesforce.b2eclipse.tests - integration tests for the jdt.ls plugin.
- com.salesforce.b2eclipse.ui - a plugin for the client (the one which is connected to the language server for code interactions). It's rather a simple connection provider to a language server, not a full-fledged UI plugin.
The following properties are passed from the client to configure the plugin:
java.import.bazel.enabled- whether Bazel support should be enabled in JDT LS (disabled by default);
java.import.bazel.src.path- location of sources (relative to a package). Defaults to
java.import.bazel.test.path- location of test sources (relative to a package). Defaults to
- Root package is not allowed (i.e. there should be no BUILD file beside the WORKSPACE);
- A project has to be in a valid state (i.e. no unsatisfied dependencies are allowed);
- Each package is to have sources;
- Sources of a package are expected to be under the path specified through the following properties:
java.import.bazel.test.path(details in the Properties section).
- Sources of a package cannot reside in the root of it. They should be in a subdir;
- Subpackages are not supported (i.e. package within package).
Will be shipped separately as two independent features: standalone feature and as extension for Eclipse JDT LS.
Building from the command line
The following command will install Apache Maven if necessary, then build the server into the
$ ./mvnw clean verify
Note: currently, the build can only run when launched with JDK 8.
- Code completion
- Code navigation