bazel syntax: make Eval private Make Eval private. It should never have been public. Mostly it was used as a hook for the debugger (via subclassing). Now the debugger installs a hook directly into a global variable that Eval inspects before executing each statement. Make all package-visible functions of Eval static. It should become the sole locus of knowledge about the tree-walking evaluator. A follow-up change will move all tree-based evaluation logic from Expressions into this class (Statements are done already). Environment.evaluate(String) has been split into an expression flavor (debugEval) and a file flavor (debugExec). If we eliminate the pointless Debuggable interface these can become static methods in EvalUtils, in a follow-up. This is a behavior change to the debugger: entering "x=1; x+1" will execute x+1 only for its effects; its value, as a statement, is now None, not 2. Delete DebugServerUtils. Combine its install and remove methods as setDebugger, and move it to EvalUtils. Delete DebugCallable (unused). Delete DebugAwareEval (obsolete). PiperOrigin-RevId: 268941210
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.