commit | 371a2e343199ee799404fd2bb8319d990a2ad572 | [log] [tgz] |
---|---|---|
author | michajlo <michajlo@google.com> | Thu May 23 13:14:39 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu May 23 13:16:02 2019 -0700 |
tree | 04d4c567bdcf11846bc487e5c8c0cab51abb0c3d | |
parent | 48845c31f49eec23738afd8f32cf2687ee79da15 [diff] |
Adds ability to determine product version without starting a server When `bazel --version` is run with no other args the client short-circuits processing and returns the same info that `version --gnu_format` would return, without the side-effect of starting the server daemon. This makes figuring out the version of an arbitrary binary a much lighter-weight process than it previously was. The command itself is implemented by inspecting the `build-label.txt` file which is derived from the server jar's build label and packed into the dist archive. Right now we rely on `--version` with no other args. In the future it may be sensible to fold this into the option processor - I opted to skip this step for now in interest of getting something functional out without needing to get too deep into all of the flag parsing semantics. When/if we wind up folding --version activation into the option processor it should be backwards compatible with the functionality added in this change. In the archive_processor code, I factored out the whole "run the zip processor" step to simplify things. The only downside to this is the error messages might be slightly different from before, but they shouldn't be terribly far off... PiperOrigin-RevId: 249701614
{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.