Bazel Operations: Difference between revisions
Jump to navigation
Jump to search
(→query) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 32: | Line 32: | ||
</font> | </font> | ||
Executes a query language expression over a specified subgraph of the [[Bazel_Concepts#Build_Dependency_Graph|build dependency graph]]. | Executes a query language expression over a specified subgraph of the [[Bazel_Concepts#Build_Dependency_Graph|build dependency graph]]. | ||
===Find All Targets=== | |||
=== | <syntaxhighlight lang='bash'> | ||
=== | bazel query '//:*' | ||
</syntaxhighlight> | |||
===Find all Dependencies of a Dependency Graph Node=== | |||
<syntaxhighlight lang='bash'> | |||
bazel query 'deps(//path/to/package:target)' | |||
</syntaxhighlight> | |||
Example: | |||
<syntaxhighlight lang='bash'> | |||
bazel query 'deps(//my_package:my_executable)' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
bazel query 'deps(//:main)' | |||
</syntaxhighlight> | |||
To build the graphic dependency graph: | |||
<syntaxhighlight lang='bash'> | |||
bazel query 'deps(//my_package:my_executable)' --output graph > graph.in | |||
dot -Tpng < graph.in > graph.png | |||
</syntaxhighlight> | |||
===Find a Dependency Path between a Target and a Dependency=== | |||
<syntaxhighlight lang='bash'> | |||
bazel query 'somepath(//path/to/package:target, //dependency)' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
bazel query 'somepath(//my_package:my_executable, //tools/somepackage/somelib)' | |||
</syntaxhighlight> | |||
=Scenarios= | =Scenarios= |
Latest revision as of 20:29, 5 June 2024
External
- Command Line Reference https://bazel.build/reference/command-line-reference
Internal
Commands
build
bazel build //...
clean
fetch
info
bazel info
run
Runs the specified target. It inherits all options form build
.
bazel run --script_path=/Users/ovidiu/bin/something //a/something
Runs the specified target.
--script-path
Write a shell script that invokes the target. In this way, the target is not run from bazel - the bazel lock is released and the executable is connected to the terminal's stdin.
version
query
bazel query <options> <query-expression>
Executes a query language expression over a specified subgraph of the build dependency graph.
Find All Targets
bazel query '//:*'
Find all Dependencies of a Dependency Graph Node
bazel query 'deps(//path/to/package:target)'
Example:
bazel query 'deps(//my_package:my_executable)'
bazel query 'deps(//:main)'
To build the graphic dependency graph:
bazel query 'deps(//my_package:my_executable)' --output graph > graph.in
dot -Tpng < graph.in > graph.png
Find a Dependency Path between a Target and a Dependency
bazel query 'somepath(//path/to/package:target, //dependency)'
bazel query 'somepath(//my_package:my_executable, //tools/somepackage/somelib)'
Scenarios
Clean Cache
bazel run @cached_local_xcode//:clear_cache; bazel clean --expunge; bazel shutdown; go clean -cache