github.com/operator-framework/operator-lifecycle-manager@v0.30.0/tools.go (about)

     1  //go:build tools
     2  // +build tools
     3  
     4  // This file imports packages that support the code generation required for the operators and their tests
     5  // These tools do not belong in bingo they need to be part of the main module because, either:
     6  // - It includes resources that are not directly imported (or importable) in go (e.g. yamls files)
     7  // - They share dependencies (e.g. k8s libraries) with the main module and should be kept in sync
     8  package tools
     9  
    10  // The OLM API CRDs used as input to the code generators
    11  import _ "github.com/operator-framework/api/crds" // operators.coreos.com CRD manifests
    12  
    13  // mock-generation
    14  // These tools are referenced in //go:generate directives in the code
    15  import (
    16  	_ "github.com/golang/mock/mockgen"
    17  	_ "github.com/maxbrunsfeld/counterfeiter/v6"
    18  )
    19  
    20  // k8s code generators
    21  // Kept in sync with the main module k8s libs
    22  // Ensure underlying commands are executable
    23  // Surface the k8s.io/code-generator/kube_codegen.sh script needed by scripts/update_codegen.sh
    24  import (
    25  	_ "k8s.io/code-generator"
    26  	_ "k8s.io/kube-openapi/cmd/openapi-gen"
    27  	_ "sigs.k8s.io/controller-tools/cmd/controller-gen"
    28  )