Revyl Documentation

Frameworks

Bazel

Run the dev loop on a Bazel project

Bazel-based mobile projects use a rebuild-based dev loop. Revyl detects Bazel workspaces by looking for MODULE.bazel, WORKSPACE.bazel, or WORKSPACE files. Bazel is a build tool, not a supported build.framework value.

When Revyl finds one native app platform, revyl init authors an ios- or android-oriented profile using the inferred Bazel command or a placeholder for you to complete. When the workspace spans both native platforms, init writes project and session configuration only. Configure each native app as its own platform-oriented Revyl project rather than authoring legacy build.system or build.platforms fields.

Set up with an agent

Paste one prompt and your coding agent does the rest.

Setup prompt

Set up Revyl for this Bazel project.

Read https://docs.revyl.com/frameworks/bazel.md and follow it. It's the current Revyl guide for this, so prefer it over anything you remember about Revyl.

Build the app's existing target in debug mode (`-c dbg`). If the workspace builds both an iOS and an Android app, set each up as its own Revyl project.

You're done when `revyl config validate` passes and the app runs in the Revyl dev loop.

Ask me before anything that needs my login or approval.

What revyl init shows

Detected: Bazel
  Platforms: android, ios
  Bazel workspace detected with concrete android and ios targets.
  Writing project and session configuration only; no build profiles were added.

Example configuration

build:
  framework: ios
  profiles:
    development:
      ios:
        build_commands:
          - "bazel run //tools:generate_mobile_sources"
          - "bazel build //ios:MyApp -c dbg"
        output_path: "bazel-bin/ios/MyApp.app"

For an Android app, use framework: android and an android recipe in that app's project config. Run revyl config validate after authoring the recipe.

On this page