From 428e80288b8cab65b89e62f53358e4a238ec8930 Mon Sep 17 00:00:00 2001 From: Francesco Ariis <fa-ml@ariis.it> Date: Wed, 17 Aug 2022 20:44:24 +0200 Subject: [PATCH] =?UTF-8?q?Move=20=E2=80=9CTarget=20Forms=E2=80=9D=20doc?= =?UTF-8?q?=20up?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/cabal-commands.rst | 72 +++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/doc/cabal-commands.rst b/doc/cabal-commands.rst index 37fe84ed42..b97ae8b123 100644 --- a/doc/cabal-commands.rst +++ b/doc/cabal-commands.rst @@ -186,6 +186,42 @@ Arguments and flags common to some or all commands are: Already generated `build-info.json` files will be removed since they would be stale otherwise. +Target Forms +------------ + +A cabal command target can take any of the following forms: + +- A package target: ``package``, which specifies that all enabled + components of a package to be built. By default, test suites and + benchmarks are *not* enabled, unless they are explicitly requested + (e.g., via ``--enable-tests``.) + +- A component target: ``[package:][ctype:]component``, which specifies + a specific component (e.g., a library, executable, test suite or + benchmark) to be built. + +- All packages: ``all``, which specifies all packages within the project. + +- Components of a particular type: ``package:ctypes``, ``all:ctypes``: + which specifies all components of the given type. Where valid + ``ctypes`` are: + + - ``libs``, ``libraries``, + - ``flibs``, ``foreign-libraries``, + - ``exes``, ``executables``, + - ``tests``, + - ``benches``, ``benchmarks``. + +- A module target: ``[package:][ctype:]module``, which specifies that the + component of which the given module is a part of will be built. + +- A filepath target: ``[package:][ctype:]filepath``, which specifies that the + component of which the given filepath is a part of will be built. + +- A script target: ``path/to/script``, which specifies the path to a script + file. This is supported by ``build``, ``repl``, ``run``, and ``clean``. + Script targets are not part of a package. + cabal init ---------- @@ -314,42 +350,6 @@ Some examples: $ cabal update # update all remote repos $ cabal update head.hackage # update only head.hackage -Target Forms ------------- - -A cabal command target can take any of the following forms: - -- A package target: ``package``, which specifies that all enabled - components of a package to be built. By default, test suites and - benchmarks are *not* enabled, unless they are explicitly requested - (e.g., via ``--enable-tests``.) - -- A component target: ``[package:][ctype:]component``, which specifies - a specific component (e.g., a library, executable, test suite or - benchmark) to be built. - -- All packages: ``all``, which specifies all packages within the project. - -- Components of a particular type: ``package:ctypes``, ``all:ctypes``: - which specifies all components of the given type. Where valid - ``ctypes`` are: - - - ``libs``, ``libraries``, - - ``flibs``, ``foreign-libraries``, - - ``exes``, ``executables``, - - ``tests``, - - ``benches``, ``benchmarks``. - -- A module target: ``[package:][ctype:]module``, which specifies that the - component of which the given module is a part of will be built. - -- A filepath target: ``[package:][ctype:]filepath``, which specifies that the - component of which the given filepath is a part of will be built. - -- A script target: ``path/to/script``, which specifies the path to a script - file. This is supported by ``build``, ``repl``, ``run``, and ``clean``. - Script targets are not part of a package. - cabal build ----------- -- GitLab