Code Monkey home page Code Monkey logo

bazel-bsp's Introduction

JetBrains team project TeamCity build status Bazel Steward badge

Bazel BSP

An implementation of the Build Server Protocol for Bazel.

Supported languages

  • Java
  • Kotlin
  • Scala
  • Python
  • Thrift
  • Rust (coming soon!)

Installation

Easy way (coursier)

  1. Have coursier installed
  2. 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

More difficult way (from sources)

Might be useful during development

Using install script

  1. Be inside this project
  2. Run bazel run //install -- <installer flags> (--help is available)

Using coursier

  1. Have coursier installed
  2. Be inside this project
  3. Change the project version - maven_coordinates attribute in the server/src/main/kotlin/org/jetbrains/bsp/bazel/BUILD file
  4. Publish a new version:
bazel run --stamp --define "maven_repo=file://$HOME/.m2/repository" //server/src/main/kotlin/org/jetbrains/bsp/bazel:bsp.publish
  1. Enter directory where Bazel BSP should be installed
  2. Install your version:
cs launch -r m2Local org.jetbrains.bsp:bazel-bsp:<your version> -M org.jetbrains.bsp.bazel.install.Install

Project Views

In 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.

Tests

End-to-end 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 //...

bazel test //e2e:<test name>_bazel_<bazel version> - to run a specific test (to see all possible tests, check the e2e/BUILD file), e.g. bazel test //e2e:sample_repo_test_bazel_6_3_2

Unit tests

Run bazel test //... to execute all the unit tests.

Contributing

Want to contribute? Great! Follow these rules.

bazel-bsp's People

Contributors

abrams27 avatar actions-user avatar socksdevil avatar tpasternak avatar xuansontrinh avatar lukaszwawrzyk avatar jastice avatar jb-bazelsteward-app[bot] avatar agluszak avatar hb-man avatar sellophane avatar mielnikk avatar steveniemitz avatar azdrojowa123 avatar illicitonion avatar mrkocot avatar mikkoziel avatar tanishiking avatar odisseus avatar brian-mcnamara avatar dorranh avatar jin avatar marconzet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.