1bdep-publish(1)             General Commands Manual            bdep-publish(1)
2
3
4

NAME

6       bdep-publish - publish project to archive repository
7

SYNOPSIS

9       bdep publish [options] [cfg-spec] [pkg-spec]
10
11       pkg-spec = (--directory|-d pkg-dir)... | prj-spec
12       prj-spec = --directory|-d prj-dir
13       cfg-spec = (@cfg-name | --config|-c cfg-dir)... | --all|-a | --forward
14

DESCRIPTION

16       The  publish command publishes the project packages to an archive-based
17       repository.
18
19       If no project or package directory is specified, then the current work‐
20       ing  directory  is  assumed. If no configuration is specified, then the
21       default configurations are used to prepare the  package  distributions.
22       If  the  specified directory is a project directory, then all the pack‐
23       ages in the project are published. See bdep-projects-configs(1) for de‐
24       tails on specifying projects and configurations.
25
26       For  each  specified package the publish command prepares a package ar‐
27       chive and sends it as part of the package submission request to an  ar‐
28       chive-based  repository.  If the repository is not explicitly specified
29       with the --repository option, packages are published to  cppget.org  by
30       default.
31
32       Along  with  the  package archive, the submission request specifies the
33       repository section to publish the package under, the control repository
34       URL  to  use  for authorization, and the publisher's name and email ad‐
35       dress for the record. While the exact usage and interpretation of  this
36       information depends on the specific repository, the following semantics
37       apply when submitting to cppget.org.
38
39       The section specifies the desired repository  section  to  publish  the
40       project  under.  If not explicitly specified with the --section option,
41       one of the alpha, beta, or stable values are automatically derived from
42       the package version.
43
44       The control repository URL is a publicly accessible, read-only URL to a
45       version control repository (normally the same as the project's) that is
46       used to authenticate the publisher as someone authorized to publish un‐
47       der this package name (currently only git(1) is supported).
48
49       Prior to sending the submission request, the publish command  adds  the
50       package  archive checksum to the build2-control branch of the project's
51       version control repository. Upon receiving the submission request,  the
52       archive  repository  either  (1) associates the control repository with
53       the package name if this is the first time this package  name  is  pub‐
54       lished  or  (2) compares the submitted control repository to the previ‐
55       ously associated and, if matching, queries the build2-control branch to
56       verify  that  the submitter is authorized to publish this archive under
57       this package name.
58
59       Unless the control repository URL is specified with the  --control  op‐
60       tion,  it will be automatically derived from the version control's "re‐
61       mote" URL. In case of git(1), it will be based on the remote.origin.url
62       configuration  value  unless  overridden  with remote.origin.build2Con‐
63       trolUrl or remote.origin.build2Url.  The  special  none  value  to  the
64       --control option can be used to disable this functionality.
65
66       See  Package Submission (#submit) for details on the submission request
67       handling by archive repositories.
68
69       If the --forward option is specified then the forwarded  configurations
70       are  used  to  prepare  the  package distributions. In particular, this
71       means that in this mode the project doesn't need to be initialized  and
72       all  that's  required is for package's source directories to be config‐
73       ured to forward to an out of source build configuration (see  b(1)  for
74       details on forwarded configurations). This, for example, can be used to
75       publish packages that don't use the standard version.
76

PUBLISH OPTIONS

78       --yes|-y
79              Don't prompt for confirmation before publishing.
80
81       --control url
82              Control repository URL for the packages being published.
83
84       --repository url
85              Repository to publish the packages to.
86
87       --section name
88              Repository section to publish the packages under.
89
90       --author-name name
91              Publisher's name. If unspecified, it will be obtained  from  the
92              environment  and/or  version control system. See the ENVIRONMENT
93              section for details.
94
95       --author-email email
96              Publisher's email address. If unspecified, it will  be  obtained
97              from  the environment and/or version control system. See the EN‐
98              VIRONMENT section for details.
99
100       --force check
101              Force publishing, disabling the specified check. Repeat this op‐
102              tion to disable multiple checks.
103
104       --simulate outcome
105              Simulate the specified outcome of the submission process without
106              actually performing any externally visible actions (such as pub‐
107              lishing  the  package).  The commonly used outcome value is suc‐
108              cess. For other recognized outcomes refer to the submission ser‐
109              vice documentation.
110
111       --forward
112              Use  the forwarded configuration for each package instead of the
113              default configuration.
114
115       --all|-a
116              Use all build configurations.
117
118       --config|-c dir
119              Specify the build configuration as a directory.
120
121       --directory|-d dir
122              Assume project/package is in the specified directory rather than
123              in the current working directory.
124
125       --config-name|-n name
126              Specify the build configuration as a name.
127
128       --config-id num
129              Specify the build configuration as an id.
130

COMMON OPTIONS

132       The  common  options are summarized below with a more detailed descrip‐
133       tion available in bdep-common-options(1).
134
135       -v     Print essential underlying commands being executed.
136
137       -V     Print all underlying commands being executed.
138
139       --quiet|-q
140              Run quietly, only printing error messages.
141
142       --verbose level
143              Set the diagnostics verbosity to level between 0 and 6.
144
145       --stdout-format format
146              Representation format to use for printing to stdout.
147
148       --jobs|-j num
149              Number of jobs to perform in parallel.
150
151       --progress
152              Display progress indicators for long-lasting operations, such as
153              network transfers, building, etc.
154
155       --no-progress
156              Suppress  progress  indicators for long-lasting operations, such
157              as network transfers, building, etc.
158
159       --diag-color
160              Use color in diagnostics.
161
162       --no-diag-color
163              Don't use color in diagnostics.
164
165       --bpkg path
166              The package manager program to be used for  build  configuration
167              management.
168
169       --bpkg-option opt
170              Additional option to be passed to the package manager program.
171
172       --build path
173              The build program to be used to build packages.
174
175       --build-option opt
176              Additional option to be passed to the build program.
177
178       --curl path
179              The curl program to be used for network operations.
180
181       --curl-option opt
182              Additional option to be passed to the curl program.
183
184       --pager path
185              The pager program to be used to show long text.
186
187       --pager-option opt
188              Additional option to be passed to the pager program.
189
190       --options-file file
191              Read additional options from file.
192
193       --default-options dir
194              The directory to load additional default options files from.
195
196       --no-default-options
197              Don't load default options files.
198

DEFAULT OPTIONS FILES

200       See  bdep-default-options-files(1)  for  an overview of the default op‐
201       tions files. For the publish command the search start directory is  the
202       project directory. The following options files are searched for in each
203       directory and, if found, loaded in the order listed:
204
205       bdep.options
206       bdep-publish.options
207
208       The following publish command options cannot be specified  in  the  de‐
209       fault options files:
210
211       --directory|-d
212

ENVIRONMENT

214       The BDEP_AUTHOR_NAME and BDEP_AUTHOR_EMAIL environment variables can be
215       used to specify the publisher's name and email  address,  respectively.
216       If  not  set, the publish command will first try to obtain the name and
217       email from the version control system (if used) and then from the  USER
218       and  EMAIL  environment variables, respectively. See also the --author-
219       name and --author-email options.
220

BUGS

222       Send bug reports to the users@build2.org mailing list.
223
225       Copyright (c) 2014-2023 the build2 authors.
226
227       Permission is granted to copy, distribute and/or modify  this  document
228       under the terms of the MIT License.
229
230
231
232bdep 0.16.0                        June 2023                   bdep-publish(1)
Impressum