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

PUBLISH OPTIONS

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

COMMON OPTIONS

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

DEFAULT OPTIONS FILES

179       See bdep-default-options-files(1) for an overview of  the  default  op‐
180       tions  files. For the publish command the search start directory is the
181       project directory. The following options files are searched for in each
182       directory and, if found, loaded in the order listed:
183
184       bdep.options
185       bdep-publish.options
186
187       The  following  publish  command options cannot be specified in the de‐
188       fault options files:
189
190       --directory|-d
191

ENVIRONMENT

193       The BDEP_AUTHOR_NAME and BDEP_AUTHOR_EMAIL environment variables can be
194       used  to  specify the publisher's name and email address, respectively.
195       If not set, the publish command will first try to obtain the  name  and
196       email  from the version control system (if used) and then from the USER
197       and EMAIL environment variables, respectively. See also  the  --author-
198       name and --author-email options.
199

BUGS

201       Send bug reports to the users@build2.org mailing list.
202
204       Copyright (c) 2014-2021 the build2 authors.
205
206       Permission  is  granted to copy, distribute and/or modify this document
207       under the terms of the MIT License.
208
209
210
211bdep 0.14.0                      October 2021                  bdep-publish(1)
Impressum