package
17.15.0+incompatible
Repository: https://github.com/thought-machine/please.git
Documentation: pkg.go.dev
# README
This directory holds the source code for Please itself (as opposed
to the various tools it invokes which are in the tools
directory,
or built-in rules or tests etc).
A quick overview of the structure here:
- build: Logic for actually building targets & managing incrementality
- cache: The various cache implementations
- clean: Logic for
plz clean
- cli: Support package for flags, logging, etc.
- core: Central package with core data structures
- export: Implementation of
plz export
- follow: Implementation of
plz follow
- fs: Filesystem operations
- gc: Implementation of
plz gc
(garbage collection) - hashes: Implementation of
plz hash
(mostly hash updating) - output: Logic for printing to terminal & showing interactive output
- parse: Logic for parsing BUILD files
- parse/asp: Lower-level parser implementation
- plz: High-level logic to orchestrate a build
- process: Subprocess control & monitoring
- query: Implementation of the various
plz query
subcommands - remote: Higher-level interface to the remote execution API
- run: Implementation of
plz run
- scm: Code for talking to the source control system (i.e. git)
- test: Logic for testing targets, reading results & coverage
- tool: Implementation of
plz tool
- update: Self-updating logic
- utils: Utilities & poor code organisation :)
- watch: Implementation of
plz watch
- worker: Code for handling background worker processes
# Packages
No description provided by the author
Package build houses the core functionality for actually building targets.
No description provided by the author
No description provided by the author
Package cli contains helper functions related to flag parsing and logging.
Package cmap contains a thread-safe concurrent awaitable map.
No description provided by the author
No description provided by the author
No description provided by the author
Package export handles exporting parts of the repo to other directories.
Package format does autoformatting of BUILD files.
Package fs provides various filesystem helpers.
Package gc implements "garbage collection" logic for Please, which is an attempt to identify targets in the repo that are no longer needed.
No description provided by the author
No description provided by the author
Package help prints help messages about parts of plz.
No description provided by the author
No description provided by the author
Package parse implements handling parse tasks for BUILD files.
No description provided by the author
No description provided by the author
Package process implements generic subprocess management functions.
Package query implements a set of query operations for Please.
Package remote provides our interface to the Google remote execution APIs (https://github.com/bazelbuild/remote-apis) which Please can use to distribute work to remote servers.
Package run implements the "plz run" command.
No description provided by the author
Package scm abstracts operations on various tools like git Currently, only git is supported.
No description provided by the author
Package tool implements running Please's sub-tools (via "plz tool arcat" etc).
Package update contains code for Please auto-updating itself.
No description provided by the author
Package watch provides a filesystem watcher that is used to rebuild affected targets.
# Functions
Please starts & runs the main build process through to its completion.
# Structs
No description provided by the author
# Type aliases
ConfigOverrides are used to implement completion on the -o flag.
No description provided by the author