github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/engine/buildcontrol/wire.go (about) 1 //go:build wireinject 2 // +build wireinject 3 4 // The build tag makes sure the stub is not built in the final build. 5 6 package buildcontrol 7 8 import ( 9 "context" 10 11 "github.com/google/wire" 12 "github.com/jonboulle/clockwork" 13 ctrlclient "sigs.k8s.io/controller-runtime/pkg/client" 14 15 "github.com/tilt-dev/wmclient/pkg/dirs" 16 17 "github.com/tilt-dev/clusterid" 18 "github.com/tilt-dev/tilt/internal/analytics" 19 "github.com/tilt-dev/tilt/internal/build" 20 "github.com/tilt-dev/tilt/internal/containerupdate" 21 "github.com/tilt-dev/tilt/internal/controllers/core/cmd" 22 "github.com/tilt-dev/tilt/internal/controllers/core/cmdimage" 23 "github.com/tilt-dev/tilt/internal/controllers/core/dockercomposeservice" 24 "github.com/tilt-dev/tilt/internal/controllers/core/dockerimage" 25 "github.com/tilt-dev/tilt/internal/controllers/core/kubernetesapply" 26 "github.com/tilt-dev/tilt/internal/docker" 27 "github.com/tilt-dev/tilt/internal/dockercompose" 28 "github.com/tilt-dev/tilt/internal/dockerfile" 29 "github.com/tilt-dev/tilt/internal/k8s" 30 "github.com/tilt-dev/tilt/internal/localexec" 31 "github.com/tilt-dev/tilt/internal/store" 32 "github.com/tilt-dev/tilt/internal/store/liveupdates" 33 "github.com/tilt-dev/tilt/internal/tracer" 34 "github.com/tilt-dev/tilt/pkg/apis/core/v1alpha1" 35 ) 36 37 var BaseWireSet = wire.NewSet( 38 // dockerImageBuilder ( = ImageBuilder) 39 wire.Value(dockerfile.Labels{}), 40 41 v1alpha1.NewScheme, 42 k8s.ProvideMinikubeClient, 43 build.NewDockerBuilder, 44 build.NewCustomBuilder, 45 wire.Bind(new(build.DockerKubeConnection), new(*build.DockerBuilder)), 46 47 // BuildOrder 48 NewDockerComposeBuildAndDeployer, 49 NewImageBuildAndDeployer, 50 NewLocalTargetBuildAndDeployer, 51 containerupdate.NewDockerUpdater, 52 containerupdate.NewExecUpdater, 53 build.NewImageBuilder, 54 55 tracer.InitOpenTelemetry, 56 57 liveupdates.ProvideUpdateMode, 58 ) 59 60 func ProvideImageBuildAndDeployer( 61 ctx context.Context, 62 docker docker.Client, 63 kClient k8s.Client, 64 env clusterid.Product, 65 kubeContext k8s.KubeContext, 66 clusterEnv docker.ClusterEnv, 67 dir *dirs.TiltDevDir, 68 clock build.Clock, 69 clock2 clockwork.Clock, 70 kp build.KINDLoader, 71 analytics *analytics.TiltAnalytics, 72 ctrlclient ctrlclient.Client, 73 st store.RStore) (*ImageBuildAndDeployer, error) { 74 wire.Build( 75 BaseWireSet, 76 kubernetesapply.NewReconciler, 77 dockerimage.NewReconciler, 78 cmdimage.NewReconciler, 79 cmd.NewController, 80 localexec.EmptyEnv, 81 localexec.NewProcessExecer, 82 cmd.ProvideExecer, 83 wire.Bind(new(localexec.Execer), new(*localexec.ProcessExecer)), 84 cmd.NewFakeProberManager, 85 wire.Bind(new(cmd.ProberManager), new(*cmd.FakeProberManager)), 86 ) 87 88 return nil, nil 89 } 90 91 func ProvideDockerComposeBuildAndDeployer( 92 ctx context.Context, 93 dcCli dockercompose.DockerComposeClient, 94 dCli docker.Client, 95 ctrlclient ctrlclient.Client, 96 st store.RStore, 97 clock clockwork.Clock, 98 dir *dirs.TiltDevDir) (*DockerComposeBuildAndDeployer, error) { 99 wire.Build( 100 BaseWireSet, 101 dockercomposeservice.WireSet, 102 build.ProvideClock, 103 build.NewKINDLoader, 104 dockerimage.NewReconciler, 105 cmdimage.NewReconciler, 106 cmd.NewController, 107 localexec.EmptyEnv, 108 cmd.ProvideExecer, 109 cmd.NewFakeProberManager, 110 wire.Bind(new(cmd.ProberManager), new(*cmd.FakeProberManager)), 111 ) 112 113 return nil, nil 114 }