Tools Last updated May 5, 2022

Bazel tools

  • Buildozer batch editor

  • Buildifier formatter

  • Skylib "library of Starlark functions for manipulating collections, file paths, and various other data types in the domain of Bazel build rules."

OBazl tools

The following tools are under development:

  • Dune conversion tool

  • Shared PPX executables generator

  • Visibility generator

  • …​etc…​

OCaml tools

The OCaml toolchain comes with a collection of useful tools

To see all of them, list the bin directory of your switch, which you can find by running $ opam config list or $ opam var bin. So: $ ls `opam var bin `.

These will probably be useful for Obazl development:

  • ocamldep - given a list of source files, prints information about their dependencies. Since Bazel requires that all build dependencies be explicitly enumerated, this can be a very useful tool.

  • ocamlobjinfo - shows the internal structure of compiled modules, interfaces, and archives. You can use this to verify that your build outputs are as expected.

Third-party tools:

  • codept "Codept intends to be a dependency solver for OCaml projects and an alternative to ocamldep."

  • cppo "Cppo is an equivalent of the C preprocessor for OCaml programs."

  • ppx_cstubs "ppx_cstubs is a ppx-based preprocessor for stub generation with ctypes"

OBazl currently does not offer direct support for these OCaml tools; that will be added on an as-needed basis. If you need it now, please file an issue.

merlin

Support for merlin is planned for a future version. (.merlin files produced by Dune are not likely to work.)

Dev tools

  • Pagers. Common choices are more. You can also use vim as a pager; it ships with a script less.sh to support this use (usually in /usr/share/vim/vim81/macros). You can make an alias to keep it available, e.g. add alias vls='/usr/share/vim/vim81/macros/less.sh' to your ~/.bashrc file.

  • ripgrep A very fast and powerful replacement for grep

  • fd A fast and simple replacement for find

  • mdless view md files from the command line.

MacOS

XCode command line tools (with manpages):

  • otool you may need this if you have problems linking to C/C++ code

  • install_name_tool "change dynamic shared library install names"

Quick Look "makes it possible for users to quickly discover the contents of listed documents, both as thumbnail images and as full-size preview images, without requiring the launch of a document’s application."

cmd: qlmanage -p