engine.#Copy matches docker.#Copy
Signed-off-by: Richard Jones <richard@dagger.io>
This commit is contained in:
parent
39e206e7d2
commit
7eb10f96fb
@ -69,9 +69,15 @@ package engine
|
||||
// Copy files from one FS tree to another
|
||||
#Copy: {
|
||||
$dagger: task: _name: "Copy"
|
||||
|
||||
// Input of the operation
|
||||
input: #FS
|
||||
#CopyInfo
|
||||
// Contents to copy
|
||||
contents: #FS
|
||||
// Source path (optional)
|
||||
source: string | *"/"
|
||||
// Destination path (optional)
|
||||
dest: string | *"/"
|
||||
// Output of the operation
|
||||
output: #FS
|
||||
}
|
||||
|
||||
|
@ -25,12 +25,10 @@ import (
|
||||
|
||||
// Copy action
|
||||
_copy: engine.#Copy & {
|
||||
"input": engine.#Scratch
|
||||
source: {
|
||||
root: input
|
||||
"path": path
|
||||
}
|
||||
dest: "/"
|
||||
"input": engine.#Scratch
|
||||
contents: input
|
||||
source: path
|
||||
dest: "/"
|
||||
}
|
||||
|
||||
// Subdirectory tree
|
||||
|
@ -29,17 +29,17 @@ func (t *copyTask) Run(ctx context.Context, pctx *plancontext.Context, s solver.
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sourceRoot, err := pctx.FS.FromValue(v.Lookup("source.root"))
|
||||
contents, err := pctx.FS.FromValue(v.Lookup("contents"))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sourceState, err := sourceRoot.State()
|
||||
contentsState, err := contents.State()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sourcePath, err := v.Lookup("source.path").String()
|
||||
sourcePath, err := v.Lookup("source").String()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -51,7 +51,7 @@ func (t *copyTask) Run(ctx context.Context, pctx *plancontext.Context, s solver.
|
||||
|
||||
outputState := inputState.File(
|
||||
llb.Copy(
|
||||
sourceState,
|
||||
contentsState,
|
||||
sourcePath,
|
||||
destPath,
|
||||
// FIXME: allow more configurable llb options
|
||||
|
@ -29,13 +29,12 @@ engine.#Plan & {
|
||||
}
|
||||
|
||||
copy: engine.#Copy & {
|
||||
input: image.output
|
||||
source: {
|
||||
root: exec.output
|
||||
path: "/output.txt"
|
||||
}
|
||||
dest: "/output.txt"
|
||||
input: image.output
|
||||
contents: exec.output
|
||||
source: "/output.txt"
|
||||
dest: "/output.txt"
|
||||
}
|
||||
|
||||
verify_copy: engine.#ReadFile & {
|
||||
input: copy.output
|
||||
path: "/output.txt"
|
||||
|
@ -29,12 +29,10 @@ engine.#Plan & {
|
||||
}
|
||||
|
||||
copy: engine.#Copy & {
|
||||
input: image.output
|
||||
source: {
|
||||
root: exec.output
|
||||
path: "/output.txt"
|
||||
}
|
||||
dest: "/output.txt"
|
||||
input: image.output
|
||||
contents: exec.output
|
||||
source: "/output.txt"
|
||||
dest: "/output.txt"
|
||||
}
|
||||
verify_copy: engine.#ReadFile & {
|
||||
input: copy.output
|
||||
|
@ -23,12 +23,10 @@ engine.#Plan & {
|
||||
}
|
||||
|
||||
copy: engine.#Copy & {
|
||||
input: busybox1_34_1.output
|
||||
source: {
|
||||
root: alpine3_15_0.output
|
||||
path: "/etc/alpine-release"
|
||||
}
|
||||
dest: "/alpine3_15_0_release"
|
||||
input: busybox1_34_1.output
|
||||
contents: alpine3_15_0.output
|
||||
source: "/etc/alpine-release"
|
||||
dest: "/alpine3_15_0_release"
|
||||
}
|
||||
|
||||
verify_copy: engine.#ReadFile & {
|
||||
|
Reference in New Issue
Block a user