about summary refs log tree commit diff
path: root/tools/nixery/server/builder/state.go
diff options
context:
space:
mode:
Diffstat (limited to 'tools/nixery/server/builder/state.go')
-rw-r--r--tools/nixery/server/builder/state.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/nixery/server/builder/state.go b/tools/nixery/server/builder/state.go
new file mode 100644
index 000000000000..1c7f58821b6b
--- /dev/null
+++ b/tools/nixery/server/builder/state.go
@@ -0,0 +1,24 @@
+package builder
+
+import (
+	"cloud.google.com/go/storage"
+	"github.com/google/nixery/config"
+	"github.com/google/nixery/layers"
+)
+
+// State holds the runtime state that is carried around in Nixery and
+// passed to builder functions.
+type State struct {
+	Bucket *storage.BucketHandle
+	Cache  LocalCache
+	Cfg    config.Config
+	Pop    layers.Popularity
+}
+
+func NewState(bucket *storage.BucketHandle, cfg config.Config) State {
+	return State{
+		Bucket: bucket,
+		Cfg:    cfg,
+		Cache:  NewCache(),
+	}
+}