commit | 93632d40f9fc146504bc161ced89e03f5e48b03c | [log] [tgz] |
---|---|---|
author | adonovan <adonovan@google.com> | Wed Dec 11 16:00:31 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Dec 11 16:01:40 2019 -0800 |
tree | 3699f873d5961f2b9d81f412ace01e3f537aae55 | |
parent | 1bf205c9c4003548120191a07d5e910a8e16c994 [diff] |
bazel syntax: delete BuiltinFunction PackageFactory's BuiltinRuleFunction (rule) and WorkspaceFactory's newRuleFunction (repository_rule) both now extend BaseFunction directly, without BuiltinFunction. (We can further simplify by eliminating BaseFunction in a follow-up.) Both functions now do their own argument checking, which is trivial: they merely reject positional arguments. The push/pop operations on the AllocationTracker Callstack are now done by StarlarkThread.push/pop, so the stack contains all callables, not just those that implement BaseFunction. (The whole thing is redundant and will be eliminated.) The BaseFunction constructor that accepts default values was made package-private; only StarlarkFunction needs it. Also, simplify the exception handling. Starlark.call is the sole place that augments an EvalException with a location. PiperOrigin-RevId: 285080959
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only 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