mirror of https://github.com/docker/compose.git
				
				
				
			
		
			
				
	
	
		
			149 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HCL
		
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			HCL
		
	
	
	
// Copyright 2022 Docker Compose CLI authors
 | 
						|
//
 | 
						|
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
// you may not use this file except in compliance with the License.
 | 
						|
// You may obtain a copy of the License at
 | 
						|
//
 | 
						|
//    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
//
 | 
						|
// Unless required by applicable law or agreed to in writing, software
 | 
						|
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
// See the License for the specific language governing permissions and
 | 
						|
// limitations under the License.
 | 
						|
 | 
						|
variable "GO_VERSION" {
 | 
						|
  # default ARG value set in Dockerfile
 | 
						|
  default = null
 | 
						|
}
 | 
						|
 | 
						|
variable "BUILD_TAGS" {
 | 
						|
  default = "e2e"
 | 
						|
}
 | 
						|
 | 
						|
variable "DOCS_FORMATS" {
 | 
						|
  default = "md,yaml"
 | 
						|
}
 | 
						|
 | 
						|
# Defines the output folder to override the default behavior.
 | 
						|
# See Makefile for details, this is generally only useful for
 | 
						|
# the packaging scripts and care should be taken to not break
 | 
						|
# them.
 | 
						|
variable "DESTDIR" {
 | 
						|
  default = ""
 | 
						|
}
 | 
						|
function "outdir" {
 | 
						|
  params = [defaultdir]
 | 
						|
  result = DESTDIR != "" ? DESTDIR : "${defaultdir}"
 | 
						|
}
 | 
						|
 | 
						|
# Special target: https://github.com/docker/metadata-action#bake-definition
 | 
						|
target "meta-helper" {}
 | 
						|
 | 
						|
target "_common" {
 | 
						|
  args = {
 | 
						|
    GO_VERSION = GO_VERSION
 | 
						|
    BUILD_TAGS = BUILD_TAGS
 | 
						|
    BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
group "default" {
 | 
						|
  targets = ["binary"]
 | 
						|
}
 | 
						|
 | 
						|
group "validate" {
 | 
						|
  targets = ["lint", "vendor-validate", "license-validate"]
 | 
						|
}
 | 
						|
 | 
						|
target "lint" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "lint"
 | 
						|
  output = ["type=cacheonly"]
 | 
						|
}
 | 
						|
 | 
						|
target "license-validate" {
 | 
						|
  target = "license-validate"
 | 
						|
  output = ["type=cacheonly"]
 | 
						|
}
 | 
						|
 | 
						|
target "license-update" {
 | 
						|
  target = "license-update"
 | 
						|
  output = ["."]
 | 
						|
}
 | 
						|
 | 
						|
target "vendor-validate" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "vendor-validate"
 | 
						|
  output = ["type=cacheonly"]
 | 
						|
}
 | 
						|
 | 
						|
target "vendor-update" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "vendor-update"
 | 
						|
  output = ["."]
 | 
						|
}
 | 
						|
 | 
						|
target "test" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "test-coverage"
 | 
						|
  output = [outdir("./bin/coverage/unit")]
 | 
						|
}
 | 
						|
 | 
						|
target "binary-with-coverage" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "binary"
 | 
						|
  args = {
 | 
						|
    BUILD_FLAGS = "-cover -covermode=atomic"
 | 
						|
  }
 | 
						|
  output = [outdir("./bin/build")]
 | 
						|
  platforms = ["local"]
 | 
						|
}
 | 
						|
 | 
						|
target "binary" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "binary"
 | 
						|
  output = [outdir("./bin/build")]
 | 
						|
  platforms = ["local"]
 | 
						|
}
 | 
						|
 | 
						|
target "binary-cross" {
 | 
						|
  inherits = ["binary"]
 | 
						|
  platforms = [
 | 
						|
    "darwin/amd64",
 | 
						|
    "darwin/arm64",
 | 
						|
    "linux/amd64",
 | 
						|
    "linux/arm/v6",
 | 
						|
    "linux/arm/v7",
 | 
						|
    "linux/arm64",
 | 
						|
    "linux/ppc64le",
 | 
						|
    "linux/riscv64",
 | 
						|
    "linux/s390x",
 | 
						|
    "windows/amd64",
 | 
						|
    "windows/arm64"
 | 
						|
  ]
 | 
						|
}
 | 
						|
 | 
						|
target "release" {
 | 
						|
  inherits = ["binary-cross"]
 | 
						|
  target = "release"
 | 
						|
  output = [outdir("./bin/release")]
 | 
						|
}
 | 
						|
 | 
						|
target "docs-validate" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "docs-validate"
 | 
						|
  output = ["type=cacheonly"]
 | 
						|
}
 | 
						|
 | 
						|
target "docs-update" {
 | 
						|
  inherits = ["_common"]
 | 
						|
  target = "docs-update"
 | 
						|
  output = ["./docs"]
 | 
						|
}
 | 
						|
 | 
						|
target "image-cross" {
 | 
						|
  inherits = ["meta-helper", "binary-cross"]
 | 
						|
  output = ["type=image"]
 | 
						|
}
 |