1bdep-publish(1) General Commands Manual bdep-publish(1)
2
3
4
6 bdep-publish - publish project to archive repository
7
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
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
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
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
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
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
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)