package
14.6.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) - ide: Implementation of
plz ide
- 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
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.
No description provided by the author
Package export handles exporting parts of the repo to other directories.
Package follow implements remote connections to other plz processes.
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
Package help prints help messages about parts of plz.
No description provided by the author
No description provided by the author
Package parse implements parsing of the BUILD files via an embedded Python interpreter.
No description provided by the author
Package process implements generic subprocess management functions.
Package query implements a simple query language 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.
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 jarcat" etc).
Package update contains code for Please auto-updating itself.
Package utils contains various utility functions and whatnot.
Package watch provides a filesystem watcher that is used to rebuild affected targets.
Package worker implements functions for communicating with subordinate worker processes.
# Functions
Please starts & runs the main build process through to its completion.
# Type aliases
ConfigOverrides are used to implement completion on the -o flag.