aboutsummaryrefslogtreecommitdiff
path: root/bpkg/build-options.cli
blob: 7164dbbee34ba253b8454566d2f636bfa78213c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// file      : bpkg/build-options.cli
// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

include <bpkg/configuration-options.cli>;

"\section=1"
"\name=bpkg-build"
"\summary=build one or more packages"

{
"<options> <pkg> <ver> <file> <dir>",

"\h|SYNOPSIS|

\c{\b{bpkg build} [<options>] (<pkg>[/<ver>] | <file> | <dir>)...}

\h|DESCRIPTION|

The \cb{build} command builds one or more packages including all their
prerequisites. Each package can be specified as just the name (<pkg>) with
optional package version (<ver>) in which case the package will be
automatically fetched from one of the configuration's source repositories
(see the \cb{rep-add} and \cb{rep-fetch} commands). Alternatively, the
package can be specified as either the path to the package source archive
(<file>) or package source directory (<dir>). See the \cb{pkg-fetch} and
\cb{pkg-unpack} commands for more information on the semantics of specifying
the package as an archive or directory.

Packages that are specified explicitly on the command line will be \i{held},
that is, they will not be considered for automatic removal if they no longer
have any dependents. Packages that are specified with the explicit package
version (<ver>) or as an archive or directory, will, in addition, have their
versions held, that is, they will not be automatically upgraded.

The \cb{build} command also supports several \cb{--*-only} options that allow
you to limit the amount of work that will be done.

\h|OPTIONS|"
}

namespace bpkg
{
  class build_options: configuration_options
  {
    bool --yes|-y
    {
      "Assume the answer to all prompts is \cb{yes}."
    };

    bool --configure-only|-c
    {
      "Configure all the packages but don't update."
    };

    bool --print-only|-p
    {
      "Print to \cb{STDOUT} what would be done without actually doing
       anything."
    };
  };
}