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
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
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
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
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
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)