Skip to content
This repository was archived by the owner on Mar 4, 2022. It is now read-only.

Latest commit

 

History

History
 
 

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