viv workspace

Discovers extra.viv.workspace members and reports inter-member requirements, or writes the aggregate root composer.json from member glob patterns and resolves/installs it.

Usage

`list` (#276): discover `extra.viv.workspace` members and report inter-member requirements. `init`/`add` (#315): write the aggregate root composer.json from member glob patterns and resolve/install

Usage: viv workspace [OPTIONS] <COMMAND>

Commands:
  list  List the workspace's members: name, version, path (relative to the root) and which other members each one requires
  init  Write a top-level composer.json (the aggregate root) from member glob patterns, then resolve and install (#315). No patterns prints every composer.json under the project directory instead, grouped by the directory a pattern for it would target, and writes nothing
  add   Add one more member to an existing aggregate root and resolve again (#315)
  help  Print this message or the help of the given subcommand(s)

Options:
  -v, --verbose                Raise logging to debug
      --cache-dir <CACHE_DIR>  Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --offline                Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                   Print help

viv workspace list

Lists the workspace's members: name, version, path (relative to the root) and which other members each one requires. Writes nothing.

List the workspace's members: name, version, path (relative to the root) and which other members each one requires

Usage: viv workspace list [OPTIONS]

Options:
  -d, --project-dir <PROJECT_DIR>  Project directory holding the root composer.json [default: .]
  -v, --verbose                    Raise logging to debug
      --cache-dir <CACHE_DIR>      Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --offline                    Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                       Print help

viv workspace init

Writes a top-level composer.json (the aggregate root) from member glob patterns, e.g. plugins/* themes/*, then resolves and installs (unless --no-install). No patterns prints the discovery listing instead, grouped by the directory a pattern for it would target, and writes nothing.

Write a top-level composer.json (the aggregate root) from member glob patterns, then resolve and install (#315). No patterns prints every composer.json under the project directory instead, grouped by the directory a pattern for it would target, and writes nothing

Usage: viv workspace init [OPTIONS] [PATTERNS]...

Arguments:
  [PATTERNS]...  Path patterns, e.g. `plugins/* themes/*`; a bare `*` matches every directory one level below it. Omit to print the discovery listing instead of writing anything

Options:
  -d, --project-dir <PROJECT_DIR>  Project directory to write composer.json into [default: .]
  -v, --verbose                    Raise logging to debug
      --cache-dir <CACHE_DIR>      Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --force                      Overwrite an existing composer.json
      --no-install                 Write composer.json and composer.lock but don't install
      --offline                    Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                       Print help

viv workspace add

Adds one more member to an existing aggregate root and resolves again (unless --no-install).

Add one more member to an existing aggregate root and resolve again (#315)

Usage: viv workspace add [OPTIONS] <PATH>

Arguments:
  <PATH>  Directory holding the new member's composer.json, e.g. `plugins/new-one`

Options:
  -d, --project-dir <PROJECT_DIR>  Project directory holding the aggregate root's composer.json [default: .]
  -v, --verbose                    Raise logging to debug
      --cache-dir <CACHE_DIR>      Store location (default `$XDG_CACHE_HOME/vivace`, or `~/.cache/vivace`)
      --no-install                 Write composer.json and composer.lock but don't install
      --offline                    Fail fast on any request instead of connecting: install errors, naming every package not already in the store; update solves from cached repository metadata only, erroring on an uncached package. Also set by `COMPOSER_DISABLE_NETWORK` (any value but unset, empty or `0`; Composer's own git-priming `prime` value is not special-cased here, since neither `install` nor `update` touch a git source)
  -h, --help                       Print help

Reads and writes

  • Reads: every member directory's composer.json under the project directory, the store under $XDG_CACHE_HOME/vivace.
  • Writes: the aggregate root composer.json, composer.lock, and, unless --no-install, vendor/ and the store.

Exit codes

Same as viv add: 0 success, 1 a filesystem error or bad flag, 2 init/add's own resolve found no solution.

See also

viv add, viv install