Skip to content
Go to file

Latest commit

Currently there are many ways for BlazeAndroidProjectStructureSyncer
#updateProjectStructure to silently fail. In some of these silent
failures the workspace module won't be given an AndroidFacet which
will cause a variety of errors down the line.

This CL adds user facing error messages that informs the user about
these errors and how to solve them. Workspace module creation code
has also been moved earlier so the AndroidFacet is always initialized
as long as it's an android project regardless if the sync failed.

PiperOrigin-RevId: 333643559

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

An IntelliJ plugin for Bazel projects

This is an early-access version of our Bazel plugins for IntelliJ, Android Studio, and CLion.

This repository is generally in a state matching the most recently uploaded plugins in the JetBrains' plugin repository. See the releases tab for more information.


See the support matrix on the various plugin support levels across JetBrains products, languages, and operating systems.


You can find our plugin in the Jetbrains plugin repository by going to Settings -> Browse Repositories, and searching for Bazel.


To import an existing Bazel project, choose Import Bazel Project, and follow the instructions in the project import wizard.

Detailed docs are available here.

Building the plugin

Install Bazel, then build the target *:*_bazel_zip for your desired product:

  • bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-latest
  • bazel build //clwb:clwb_bazel_zip --define=ij_product=clion-latest
  • bazel build //aswb:aswb_bazel_zip --define=ij_product=android-studio-latest

from the project root. This will create a plugin zip file at bazel-bin/<PRODUCT>/<PRODUCT>, which can be installed directly from the IDE. <PRODUCT> can be one of ijwb, clwb, aswb.

If the IDE refuses to load the plugin because of version issues, specify the correct ij_product. These are in the form <IDE>-<VERSION> with <IDE> being one of intellij, clion, android-studio, and <VERSION> being one of latest, beta.

If you are using the most recent version of your IDE, you likely want --define=ij_product=<IDE>-beta which will be the next version after <IDE>-latest. A complete mapping of all currently defined versions can be found in intellij_platform_sdk/build_defs.bzl.


We may be able to accept contributions in some circumstances. Some caveats:

  • Before opening a pull request, first file an issue and discuss potential changes with the devs. This will often save you time you would otherwise have invested in a patch which can't be applied.
  • We can't accept sylistic, refactoring, or "cleanup" changes.
  • We have very limited bandwidth, and applying patches upstream is a time-consuming process. Large patches generally can't be accepted unless there's clear value for all our users.
You can’t perform that action at this time.