commit | 770606a77e147406e3b2bfd9d707f04a66890a4c | [log] [tgz] |
---|---|---|
author | adonovan <adonovan@google.com> | Wed Dec 11 11:52:31 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Dec 11 11:53:28 2019 -0800 |
tree | c2e1ea00fd01e038ca166dc4f107988da4770066 | |
parent | f3a344e8ac518bdff54f803b5e9a61b73875ad9d [diff] |
bazel syntax: define Starlark.call and use it everywhere All calls of Starlark callable values go through this function, whether from the interpreter or Java code. A follow-up change will make it responsible for doing the push/pop of the call stack. Also, rename StarlarkCallable.call to callImpl, since no-one should use it directly. (And reorder its parameters.) Also, remove sole external call to BaseFunction.callWithArgArray, and inline it into sole remaining internal caller. MethodDescriptor.callField now handles the two places that call a @SkylarkCallable(structField)-annotated Java method. Previously they were inconsistent in which "extra parameters" they permitted. Now they allow Location and StarlarkSemantics, but not StarlarkThread or FuncallExpression. The annotation processor rejects useStarlarkThreadfor a structField. (One instance was downgraded to useStarlarkSemantics.) This is a breaking API change for copybara. PiperOrigin-RevId: 285031076
{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