JetBrains / teamcity-bazel-plugin

TeamCity plugin for Bazel build system
Apache License 2.0
14 stars 6 forks source link
bazel teamcity teamcity-plugin

TeamCity Bazel build support

official JetBrains project

TeamCity plugin to support projects based on Bazel build system.

Features

It provides the following features for bazel projects:

Download

You can download the plugin and install it as an additional TeamCity plugin.

Compatibility

The plugin is compatible with TeamCity 2018.1.x and greater.

Known issues

If IDEA can't resolve proto classes, like BuildEventStreamProtos. Here is how to resolve this:

  1. click Help
  2. Edit custom properties...
  3. and property idea.max.intellisense.filesize=999999

It increases max file size for coding assistance and design-time code inspection. You can find more information about these properties here: https://www.jetbrains.com/help/objc/configuring-file-size-limit.html

Run/debug integration tests locally

  1. Install bazelisk macOS: brew install bazelisk, Windows: choco install bazelisk
  2. Verify that plugin-bazel-integration-tests/src/test/kotlin/jetbrains/bazel/integration/Environment.kt has right path to the bazelisk
  3. OPTIONAL: to debug BES server
    1. Uncomment "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005", in plugin-bazel-integration-tests/src/test/kotlin/jetbrains/bazel/integration/BazelSteps.kt
    2. IntelliJ IDEA: Go to Run > Edit Configurations. Click the + button and select Remote JVM Debug. Set the port to 5005. Click OK. Attach to BES server for each integration test
  4. Run tests with ./gradlew integration or with IntelliJ IDEA Cucumber for Java Plugin

    Configuration

The plugin relies on PATH environment variable to detect installed bazel tool version.

Build

This project uses gradle as the build system. You can easily open it in IntelliJ IDEA or Eclipse.

Contributions

We appreciate all kinds of feedback, so please feel free to send a PR or submit an issue.

Additional Resources