Skip to content

Latest commit

 

History

History
59 lines (41 loc) · 3.15 KB

README.md

File metadata and controls

59 lines (41 loc) · 3.15 KB

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:

  • Bazel tool detection on build agents
  • Bazel command build runners
  • Structured build log provider
  • Auto-discovery of build steps
  • Bazel tests reporter
  • Cleaner of bazel workspace caches
  • Bazel build feature to configure common startup options & remote cache

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