|
1 | 1 | namespace Build;
|
| 2 | + |
2 | 3 | using DockerBuildXBuildSettings = Build.Cake.Docker.DockerBuildXBuildSettings;
|
3 | 4 | using DockerBuildXImageToolsCreateSettings = Build.Cake.Docker.DockerBuildXImageToolsCreateSettings;
|
4 | 5 |
|
5 | 6 | public static class DockerExtensions
|
6 | 7 | {
|
7 |
| - public static void DockerBuildXBuild(this ICakeContext context, DockerBuildXBuildSettings settings, DirectoryPath target) |
| 8 | + public static void DockerBuildXBuild(this ICakeContext context, DockerBuildXBuildSettings settings, |
| 9 | + DirectoryPath target) |
8 | 10 | {
|
9 | 11 | ArgumentNullException.ThrowIfNull(context);
|
10 |
| - var runner = new GenericDockerRunner<DockerBuildXBuildSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); |
| 12 | + var runner = context.CreateRunner<DockerBuildXBuildSettings>(); |
11 | 13 | runner.Run("buildx build", settings, [target.ToString().EscapeProcessArgument()]);
|
12 | 14 | }
|
13 | 15 |
|
14 |
| - public static void DockerBuildXImageToolsCreate(this ICakeContext context, DockerBuildXImageToolsCreateSettings settings, IEnumerable<string>? target = null) |
| 16 | + public static void DockerBuildXImageToolsCreate(this ICakeContext context, |
| 17 | + DockerBuildXImageToolsCreateSettings settings, IEnumerable<string>? target = null) |
15 | 18 | {
|
16 | 19 | ArgumentNullException.ThrowIfNull(context);
|
17 |
| - var runner = new GenericDockerRunner<DockerBuildXImageToolsCreateSettings>(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); |
| 20 | + var runner = context.CreateRunner<DockerBuildXImageToolsCreateSettings>(); |
18 | 21 | runner.Run("buildx imagetools create", settings, target?.ToArray() ?? []);
|
19 | 22 | }
|
| 23 | + |
| 24 | + private static GenericDockerRunner<TSettings> CreateRunner<TSettings>(this ICakeContext context) |
| 25 | + where TSettings : AutoToolSettings, new() => |
| 26 | + new(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); |
20 | 27 | }
|
0 commit comments