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