Skip to content
This repository was archived by the owner on Aug 29, 2023. It is now read-only.

Commit 12dd9fe

Browse files
committed
refactor: add plugin flags to category
1 parent db4c4be commit 12dd9fe

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

cmd/drone-docker-buildx/config.go

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,242 +6,280 @@ import (
66
)
77

88
// settingsFlags has the cli.Flags for the plugin.Settings.
9-
func settingsFlags(settings *plugin.Settings) []cli.Flag {
9+
func settingsFlags(settings *plugin.Settings, category string) []cli.Flag {
1010
return []cli.Flag{
1111
&cli.BoolFlag{
1212
Name: "dry-run",
1313
EnvVars: []string{"PLUGIN_DRY_RUN"},
1414
Usage: "disables docker push",
1515
Destination: &settings.Dryrun,
16+
Category: category,
1617
},
1718
&cli.StringFlag{
1819
Name: "remote.url",
1920
EnvVars: []string{"DRONE_REMOTE_URL"},
2021
Usage: "sets the git remote url",
2122
Destination: &settings.Build.Remote,
23+
Category: category,
2224
},
2325
&cli.StringFlag{
2426
Name: "daemon.mirror",
2527
EnvVars: []string{"PLUGIN_MIRROR", "DOCKER_PLUGIN_MIRROR"},
2628
Usage: "sets a registry mirror to pull images",
2729
Destination: &settings.Daemon.Mirror,
30+
Category: category,
2831
},
2932
&cli.StringFlag{
3033
Name: "daemon.storage-driver",
3134
EnvVars: []string{"PLUGIN_STORAGE_DRIVER"},
3235
Usage: "sets the docker daemon storage driver",
3336
Destination: &settings.Daemon.StorageDriver,
37+
Category: category,
3438
},
3539
&cli.StringFlag{
3640
Name: "daemon.storage-path",
3741
EnvVars: []string{"PLUGIN_STORAGE_PATH"},
3842
Usage: "sets the docker daemon storage path",
3943
Value: "/var/lib/docker",
4044
Destination: &settings.Daemon.StoragePath,
45+
Category: category,
4146
},
4247
&cli.StringFlag{
4348
Name: "daemon.bip",
4449
EnvVars: []string{"PLUGIN_BIP"},
4550
Usage: "allows the docker daemon to bride ip address",
4651
Destination: &settings.Daemon.Bip,
52+
Category: category,
4753
},
4854
&cli.StringFlag{
4955
Name: "daemon.mtu",
5056
EnvVars: []string{"PLUGIN_MTU"},
5157
Usage: "sets docker daemon custom mtu setting",
5258
Destination: &settings.Daemon.MTU,
59+
Category: category,
5360
},
5461
&cli.StringSliceFlag{
5562
Name: "daemon.dns",
5663
EnvVars: []string{"PLUGIN_CUSTOM_DNS"},
5764
Usage: "sets custom docker daemon dns server",
5865
Destination: &settings.Daemon.DNS,
66+
Category: category,
5967
},
6068
&cli.StringSliceFlag{
6169
Name: "daemon.dns-search",
6270
EnvVars: []string{"PLUGIN_CUSTOM_DNS_SEARCH"},
6371
Usage: "sets custom docker daemon dns search domain",
6472
Destination: &settings.Daemon.DNSSearch,
73+
Category: category,
6574
},
6675
&cli.BoolFlag{
6776
Name: "daemon.insecure",
6877
EnvVars: []string{"PLUGIN_INSECURE"},
6978
Usage: "allows the docker daemon to use insecure registries",
7079
Destination: &settings.Daemon.Insecure,
80+
Category: category,
7181
},
7282
&cli.BoolFlag{
7383
Name: "daemon.ipv6",
7484
EnvVars: []string{"PLUGIN_IPV6"},
7585
Usage: "enables docker daemon IPv6 support",
7686
Destination: &settings.Daemon.IPv6,
87+
Category: category,
7788
},
7889
&cli.BoolFlag{
7990
Name: "daemon.experimental",
8091
EnvVars: []string{"PLUGIN_EXPERIMENTAL"},
8192
Usage: "enables docker daemon experimental mode",
8293
Destination: &settings.Daemon.Experimental,
94+
Category: category,
8395
},
8496
&cli.BoolFlag{
8597
Name: "daemon.debug",
8698
EnvVars: []string{"PLUGIN_DEBUG", "DOCKER_LAUNCH_DEBUG"},
8799
Usage: "enables verbose debug mode for the docker daemon",
88100
Destination: &settings.Daemon.Debug,
101+
Category: category,
89102
},
90103
&cli.BoolFlag{
91104
Name: "daemon.off",
92105
EnvVars: []string{"PLUGIN_DAEMON_OFF"},
93106
Usage: "disables the startup of the docker daemon",
94107
Destination: &settings.Daemon.Disabled,
108+
Category: category,
95109
},
96110
&cli.StringFlag{
97111
Name: "daemon.buildkit-config",
98112
EnvVars: []string{"PLUGIN_BUILDKIT_CONFIG"},
99113
Usage: "sets content of the docker buildkit json config",
100114
Destination: &settings.Daemon.BuildkitConfig,
115+
Category: category,
101116
},
102117
&cli.StringFlag{
103118
Name: "dockerfile",
104119
EnvVars: []string{"PLUGIN_DOCKERFILE"},
105120
Usage: "sets dockerfile to use for the image build",
106121
Value: "Dockerfile",
107122
Destination: &settings.Build.Dockerfile,
123+
Category: category,
108124
},
109125
&cli.StringFlag{
110126
Name: "context",
111127
EnvVars: []string{"PLUGIN_CONTEXT"},
112128
Usage: "sets the path of the build context to use",
113129
Value: ".",
114130
Destination: &settings.Build.Context,
131+
Category: category,
115132
},
116133
&cli.StringSliceFlag{
117134
Name: "tags",
118135
EnvVars: []string{"PLUGIN_TAG", "PLUGIN_TAGS"},
119136
Usage: "sets repository tags to use for the image",
120137
FilePath: ".tags",
121138
Destination: &settings.Build.Tags,
139+
Category: category,
122140
},
123141
&cli.BoolFlag{
124142
Name: "tags.auto",
125143
EnvVars: []string{"PLUGIN_DEFAULT_TAGS", "PLUGIN_AUTO_TAG"},
126144
Usage: "generates tag names automatically based on git branch and git tag",
127145
Destination: &settings.Build.TagsAuto,
146+
Category: category,
128147
},
129148
&cli.StringFlag{
130149
Name: "tags.suffix",
131150
EnvVars: []string{"PLUGIN_DEFAULT_SUFFIX", "PLUGIN_AUTO_TAG_SUFFIX"},
132151
Usage: "generates tag names with the given suffix",
133152
Destination: &settings.Build.TagsSuffix,
153+
Category: category,
134154
},
135155
&cli.StringSliceFlag{
136156
Name: "args",
137157
EnvVars: []string{"PLUGIN_BUILD_ARGS"},
138158
Usage: "sets custom build arguments for the build",
139159
Destination: &settings.Build.Args,
160+
Category: category,
140161
},
141162
&cli.StringSliceFlag{
142163
Name: "args-from-env",
143164
EnvVars: []string{"PLUGIN_BUILD_ARGS_FROM_ENV"},
144165
Usage: "forwards environment variables as custom arguments to the build",
145166
Destination: &settings.Build.ArgsEnv,
167+
Category: category,
146168
},
147169
&cli.BoolFlag{
148170
Name: "quiet",
149171
EnvVars: []string{"PLUGIN_QUIET"},
150172
Usage: "enables suppression of the build output",
151173
Destination: &settings.Build.Quiet,
174+
Category: category,
152175
},
153176
&cli.StringFlag{
154177
Name: "output",
155178
EnvVars: []string{"PLUGIN_OUTPUT"},
156179
Usage: "sets the export action for the build result",
157180
Destination: &settings.Build.Output,
181+
Category: category,
158182
},
159183
&cli.StringFlag{
160184
Name: "target",
161185
EnvVars: []string{"PLUGIN_TARGET"},
162186
Usage: "sets the build target to use",
163187
Destination: &settings.Build.Target,
188+
Category: category,
164189
},
165190
&cli.StringSliceFlag{
166191
Name: "cache-from",
167192
EnvVars: []string{"PLUGIN_CACHE_FROM"},
168193
Usage: "sets images to consider as cache sources",
169194
Destination: &settings.Build.CacheFrom,
195+
Category: category,
170196
},
171197
&cli.BoolFlag{
172198
Name: "pull-image",
173199
EnvVars: []string{"PLUGIN_PULL_IMAGE"},
174200
Usage: "enforces to pull base image at build time",
175201
Value: true,
176202
Destination: &settings.Build.Pull,
203+
Category: category,
177204
},
178205
&cli.BoolFlag{
179206
Name: "compress",
180207
EnvVars: []string{"PLUGIN_COMPRESS"},
181208
Usage: "enables compression of the build context using gzip",
182209
Destination: &settings.Build.Compress,
210+
Category: category,
183211
},
184212
&cli.StringFlag{
185213
Name: "repo",
186214
EnvVars: []string{"PLUGIN_REPO"},
187215
Usage: "sets repository name for the image",
188216
Destination: &settings.Build.Repo,
217+
Category: category,
189218
},
190219
&cli.StringFlag{
191220
Name: "docker.registry",
192221
EnvVars: []string{"PLUGIN_REGISTRY", "DOCKER_REGISTRY"},
193222
Usage: "sets docker registry to authenticate with",
194223
Value: "https://index.docker.io/v1/",
195224
Destination: &settings.Login.Registry,
225+
Category: category,
196226
},
197227
&cli.StringFlag{
198228
Name: "docker.username",
199229
EnvVars: []string{"PLUGIN_USERNAME", "DOCKER_USERNAME"},
200230
Usage: "sets username to authenticates with",
201231
Destination: &settings.Login.Username,
232+
Category: category,
202233
},
203234
&cli.StringFlag{
204235
Name: "docker.password",
205236
EnvVars: []string{"PLUGIN_PASSWORD", "DOCKER_PASSWORD"},
206237
Usage: "sets password to authenticates with",
207238
Destination: &settings.Login.Password,
239+
Category: category,
208240
},
209241
&cli.StringFlag{
210242
Name: "docker.email",
211243
EnvVars: []string{"PLUGIN_EMAIL", "DOCKER_EMAIL"},
212244
Usage: "sets email address to authenticates with",
213245
Destination: &settings.Login.Email,
246+
Category: category,
214247
},
215248
&cli.StringFlag{
216249
Name: "docker.config",
217250
EnvVars: []string{"PLUGIN_CONFIG", "DOCKER_PLUGIN_CONFIG"},
218251
Usage: "sets content of the docker daemon json config",
219252
Destination: &settings.Login.Config,
253+
Category: category,
220254
},
221255
&cli.BoolFlag{
222256
Name: "docker.purge",
223257
EnvVars: []string{"PLUGIN_PURGE"},
224258
Usage: "enables cleanup of the docker environment at the end of a build",
225259
Value: true,
226260
Destination: &settings.Cleanup,
261+
Category: category,
227262
},
228263
&cli.BoolFlag{
229264
Name: "no-cache",
230265
EnvVars: []string{"PLUGIN_NO_CACHE"},
231266
Usage: "disables the usage of cached intermediate containers",
232267
Destination: &settings.Build.NoCache,
268+
Category: category,
233269
},
234270
&cli.StringSliceFlag{
235271
Name: "add-host",
236272
EnvVars: []string{"PLUGIN_ADD_HOST"},
237273
Usage: "sets additional host:ip mapping",
238274
Destination: &settings.Build.AddHost,
275+
Category: category,
239276
},
240277
&cli.StringSliceFlag{
241278
Name: "platforms",
242279
EnvVars: []string{"PLUGIN_PLATFORMS"},
243280
Usage: "sets target platform for build",
244281
Destination: &settings.Build.Platforms,
282+
Category: category,
245283
},
246284
}
247285
}

cmd/drone-docker-buildx/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func main() {
3232
Name: "drone-docker-buildx",
3333
Usage: "build docker container with DinD and buildx",
3434
Version: BuildVersion,
35-
Flags: append(settingsFlags(settings), urfave.Flags()...),
35+
Flags: append(settingsFlags(settings, urfave.FlagsPluginCategory), urfave.Flags()...),
3636
Action: run(settings),
3737
}
3838

0 commit comments

Comments
 (0)