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 | --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 configuration is used to prepare the package distributions. If
22 the specified directory is a project directory, then all the packages
23 in the project are published. See bdep-projects-configs(1) for details
24 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
35 address for the record. While the exact usage and interpretation of
36 this information depends on the specific repository, the following
37 semantics 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
47 under 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
60 option, it will be automatically derived from the version control's
61 "remote" URL. In case of git(1), it will be based on the remote.ori‐
62 gin.url configuration value unless overridden with remote.ori‐
63 gin.build2ControlUrl or remote.origin.build2Url. The special none
64 value to the --control option can be used to disable this functional‐
65 ity.
66
67 See Package Submission (#submit) for details on the submission request
68 handling by archive repositories.
69
71 --yes|-y
72 Don't prompt for confirmation before publishing.
73
74 --control url
75 Control repository URL for the packages being published.
76
77 --repository url
78 Repository to publish the packages to.
79
80 --section name
81 Repository section to publish the packages under.
82
83 --author-name name
84 Publisher's name. If unspecified, it will be obtained from the
85 environment and/or version control system. See the ENVIRONMENT
86 section for details.
87
88 --author-email email
89 Publisher's email address. If unspecified, it will be obtained
90 from the environment and/or version control system. See the
91 ENVIRONMENT section for details.
92
93 --force check
94 Force publishing, disabling the specified check. Repeat this
95 option to disable multiple checks.
96
97 --simulate outcome
98 Simulate the specified outcome of the submission process without
99 actually performing any externally visible actions (such as pub‐
100 lishing the package). The commonly used outcome value is suc‐
101 cess. For other recognized outcomes refer to the submission ser‐
102 vice documentation.
103
104 --forward
105 Use the forwarded configuration for each package instead of the
106 default configuration.
107
108 --all|-a
109 Use all build configurations.
110
111 --config|-c dir
112 Specify the build configuration as a directory.
113
114 --directory|-d dir
115 Assume project/package is in the specified directory rather than
116 in the current working directory.
117
118 --config-name|-n name
119 Specify the build configuration as a name.
120
121 --config-id num
122 Specify the build configuration as an id.
123
125 The common options are summarized below with a more detailed descrip‐
126 tion available in bdep-common-options(1).
127
128 -v Print essential underlying commands being executed.
129
130 -V Print all underlying commands being executed.
131
132 --quiet|-q
133 Run quietly, only printing error messages.
134
135 --verbose level
136 Set the diagnostics verbosity to level between 0 and 6.
137
138 --jobs|-j num
139 Number of jobs to perform in parallel.
140
141 --no-progress
142 Suppress progress indicators for long-lasting operations, such
143 as network transfers, building, etc.
144
145 --bpkg path
146 The package manager program to be used for build configuration
147 management.
148
149 --bpkg-option opt
150 Additional option to be passed to the package manager program.
151
152 --build path
153 The build program to be used to build packages.
154
155 --build-option opt
156 Additional option to be passed to the build program.
157
158 --curl path
159 The curl program to be used for network operations.
160
161 --curl-option opt
162 Additional option to be passed to the curl program.
163
164 --pager path
165 The pager program to be used to show long text.
166
167 --pager-option opt
168 Additional option to be passed to the pager program.
169
170 --options-file file
171 Read additional options from file.
172
173 --default-options dir
174 The directory to load additional default options files from.
175
176 --no-default-options
177 Don't load default options files.
178
180 See bdep-default-options-files(1) for an overview of the default
181 options files. For the publish command the search start directory is
182 the project directory. The following options files are searched for in
183 each directory and, if found, loaded in the order listed:
184
185 bdep.options
186 bdep-publish.options
187
188 The following publish command options cannot be specified in the
189 default options files:
190
191 --directory|-d
192
194 The BDEP_AUTHOR_NAME and BDEP_AUTHOR_EMAIL environment variables can be
195 used to specify the publisher's name and email address, respectively.
196 If not set, the publish command will first try to obtain the name and
197 email from the version control system (if used) and then from the USER
198 and EMAIL environment variables, respectively. See also the --author-
199 name and --author-email options.
200
202 Send bug reports to the users@build2.org mailing list.
203
205 Copyright (c) 2014-2020 the build2 authors.
206
207 Permission is granted to copy, distribute and/or modify this document
208 under the terms of the MIT License.
209
210
211
212bdep 0.13.0 July 2020 bdep-publish(1)