summaryrefslogtreecommitdiff
path: root/api/server/router/build/backend.go
blob: 2983e3b3d2f8b2d5dff6bae331a1a2c16fdb5974 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package build // import "github.com/docker/docker/api/server/router/build"

import (
	"context"

	"github.com/docker/docker/api/types"
	"github.com/docker/docker/api/types/backend"
)

// Backend abstracts an image builder whose only purpose is to build an image referenced by an imageID.
type Backend interface {
	// Build a Docker image returning the id of the image
	// TODO: make this return a reference instead of string
	Build(context.Context, backend.BuildConfig) (string, error)

	// Prune build cache
	PruneCache(context.Context, types.BuildCachePruneOptions) (*types.BuildCachePruneReport, error)

	Cancel(context.Context, string) error
}

type experimentalProvider interface {
	HasExperimental() bool
}