An implementation of the Build Server Protocol for Bazel.
- Java
- Kotlin
- Scala
- Python
- Thrift
- Rust
- Have coursier installed
- Run in the directory where Bazel BSP should be installed:
cs launch org.jetbrains.bsp:bazel-bsp:<version> -M org.jetbrains.bsp.bazel.install.Install -- --targets //...Please check release to find the newest available version
3. Add bsp generated folders to your .gitignore: .bsp and .bazelbsp
Might be useful during development
- Be inside this project
- Run
bazel run //install -- <installer flags>(--helpis available)
- Have coursier installed
- Be inside this project
- Change the project version -
maven_coordinatesattribute in theserver/src/main/kotlin/org/jetbrains/bsp/bazel/BUILDfile - Publish a new version:
bazel run --stamp --define "maven_repo=file://$HOME/.m2/repository" //server/src/main/kotlin/org/jetbrains/bsp/bazel:bsp.publish- Enter directory where Bazel BSP should be installed
- Install your version:
cs launch -r m2Local org.jetbrains.bsp:bazel-bsp:<your version> -M org.jetbrains.bsp.bazel.install.InstallIn order to work on huge monorepos you might want to specify directories and targets to work on. To address this issue, Bazel BSP supports (partly) the Project Views introduced by Google.
Check project view readme for more info.
Run bazel test //... to execute all the unit tests.
e2e directory contains end-2-end tests that check various scenarios of server usage.
Tests are marked as manual so they won't be executed on bazel test //...
but you can run all of them using: bazel test //e2e:all_tests
In order to run a specific test with specific bazel version you can use:
bazel test //e2e:<test name>_bazel_<bazel version_major>_x
(bazel test //e2e:<test name>_bazel_current to use bazel version defined in .bazelversion file) or
bazel test //e2e:<test name>_bazel_<bazel version>
e.g. bazel test //e2e:sample_repo_test_bazel_6_x or bazel test //e2e:sample_repo_test_bazel_current or bazel test //e2e:sample_repo_test_bazel_6_4_0
In order to run a specific test with all bazel versions you can use:
bazel test //e2e:<test name>
e.g. bazel test //e2e:sample_repo_test
Want to contribute? Great! Follow these rules.