(params: DockerResolverParameters, config: SubstitutedConfig<DevContainerConfig>, dstFolder: string, baseName: string, imageBuildInfo: ImageBuildInfo)
| 197 | } |
| 198 | |
| 199 | async function getImageBuildOptions(params: DockerResolverParameters, config: SubstitutedConfig<DevContainerConfig>, dstFolder: string, baseName: string, imageBuildInfo: ImageBuildInfo): Promise<ImageBuildOptions> { |
| 200 | const syntax = imageBuildInfo.dockerfile?.preamble.directives.syntax; |
| 201 | return { |
| 202 | dstFolder, |
| 203 | dockerfileContent: ` |
| 204 | FROM $_DEV_CONTAINERS_BASE_IMAGE AS dev_containers_target_stage |
| 205 | ${getDevcontainerMetadataLabel(getDevcontainerMetadata(imageBuildInfo.metadata, config, { featureSets: [] }, [], getOmitDevcontainerPropertyOverride(params.common)))} |
| 206 | `, |
| 207 | overrideTarget: 'dev_containers_target_stage', |
| 208 | dockerfilePrefixContent: `${syntax ? `# syntax=${syntax}` : ''} |
| 209 | ARG _DEV_CONTAINERS_BASE_IMAGE=placeholder |
| 210 | `, |
| 211 | buildArgs: { |
| 212 | _DEV_CONTAINERS_BASE_IMAGE: baseName, |
| 213 | } as Record<string, string>, |
| 214 | buildKitContexts: {} as Record<string, string>, |
| 215 | securityOpts: [], |
| 216 | }; |
| 217 | } |
| 218 | |
| 219 | function getOmitDevcontainerPropertyOverride(resolverParams: { omitConfigRemotEnvFromMetadata?: boolean }): (keyof DevContainerConfig & keyof ImageMetadataEntry)[] { |
| 220 | if (resolverParams.omitConfigRemotEnvFromMetadata) { |
no test coverage detected