bazelbuild / bazelbuild/bazelisk

Unify recommendation on building a bazel project and starting a new project

Open
#145 0 comments 0 reactions 0 assignees View on GitHub
P3 type: feature request
Dominant language
Go
Stars
2.7k
Forks
424
PR merge metrics
No merged PRs in 30d

Description

I'm happy to see traction on a tool like Bazelisk. One of the biggest issues I've faced using bazel more widely is a standard, simple way to install Bazel and and keep it up to date.

Related, I love that #84 seems to be getting some love. I left a comment there but want to create a dedicated issue. I'd love to see simplification in the documentation and tooling around the "preferred" way to get going. I'd suggest

1) If a project is already setup, then it could include a wrapper script similar to Gradle's as suggested in #84. I don't have to think, I just clone the project and run the bazel build.
2) If the project isn't already setup to use bazel (or if it's a new project) and I don't have bazel installed, I should be able bootstrap the project (wrapper script and maybe even a WORKSPACE file?) Maybe the Bazel landing page can have instructions to curl an up to date wrapper script + verify the sha?
3) At the very least, the binary installer option (with optional xcode-select instructions as step 1 and a download URL that doesn't even have the version filled in) shouldn't be the first thing I see :) Ideally to the end user, bazel vs bazelisk is more of an internal detail.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the current Bazel landing-page and binary-installer guidance, along with the proposed wrapper-script and WORKSPACE-file flow for existing and new projects. Define one consistent recommendation for both cases, and consider the work done when users can bootstrap or build without choosing between Bazel and Bazelisk themselves.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, documentation, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.