mirror of
https://github.com/mudler/luet.git
synced 2025-09-01 15:18:28 +00:00
🎨 Introduce contextualized logging
This commit is multi-fold as it also refactors internally context and logger as interfaces so it is easier to plug luet as a library externally. Introduces a garbage collector (related to #227) but doesn't handle yet parallelism. Closes #265
This commit is contained in:
@@ -18,9 +18,8 @@ package backend
|
||||
import (
|
||||
"os/exec"
|
||||
|
||||
"github.com/mudler/luet/pkg/api/core/types"
|
||||
|
||||
"github.com/google/go-containerregistry/pkg/crane"
|
||||
"github.com/mudler/luet/pkg/api/core/types"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
@@ -43,9 +42,9 @@ type Options struct {
|
||||
BackendArgs []string
|
||||
}
|
||||
|
||||
func runCommand(ctx *types.Context, cmd *exec.Cmd) error {
|
||||
func runCommand(ctx types.Context, cmd *exec.Cmd) error {
|
||||
output := ""
|
||||
buffered := !ctx.Config.GetGeneral().ShowBuildOutput
|
||||
buffered := !ctx.GetConfig().General.ShowBuildOutput
|
||||
writer := NewBackendWriter(buffered, ctx)
|
||||
|
||||
cmd.Stdout = writer
|
||||
|
@@ -32,10 +32,10 @@ import (
|
||||
)
|
||||
|
||||
type SimpleDocker struct {
|
||||
ctx *types.Context
|
||||
ctx types.Context
|
||||
}
|
||||
|
||||
func NewSimpleDockerBackend(ctx *types.Context) *SimpleDocker {
|
||||
func NewSimpleDockerBackend(ctx types.Context) *SimpleDocker {
|
||||
return &SimpleDocker{ctx: ctx}
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ func (s *SimpleDocker) imageFromCLIPipe(a string) (v1.Image, error) {
|
||||
}
|
||||
|
||||
func (s *SimpleDocker) imageFromDisk(a string) (v1.Image, error) {
|
||||
f, err := s.ctx.Config.GetSystem().TempFile("snapshot")
|
||||
f, err := s.ctx.TempFile("snapshot")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@
|
||||
package backend_test
|
||||
|
||||
import (
|
||||
"github.com/mudler/luet/pkg/api/core/types"
|
||||
"github.com/mudler/luet/pkg/api/core/context"
|
||||
. "github.com/mudler/luet/pkg/compiler"
|
||||
"github.com/mudler/luet/pkg/compiler/backend"
|
||||
. "github.com/mudler/luet/pkg/compiler/backend"
|
||||
@@ -34,7 +34,7 @@ import (
|
||||
|
||||
var _ = Describe("Docker backend", func() {
|
||||
Context("Simple Docker backend satisfies main interface functionalities", func() {
|
||||
ctx := types.NewContext()
|
||||
ctx := context.NewContext()
|
||||
It("Builds and generate tars", func() {
|
||||
generalRecipe := tree.NewGeneralRecipe(pkg.NewInMemoryDatabase(false))
|
||||
|
||||
|
@@ -28,10 +28,10 @@ import (
|
||||
)
|
||||
|
||||
type SimpleImg struct {
|
||||
ctx *types.Context
|
||||
ctx types.Context
|
||||
}
|
||||
|
||||
func NewSimpleImgBackend(ctx *types.Context) *SimpleImg {
|
||||
func NewSimpleImgBackend(ctx types.Context) *SimpleImg {
|
||||
return &SimpleImg{ctx: ctx}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ func (s *SimpleImg) RemoveImage(opts Options) error {
|
||||
|
||||
func (s *SimpleImg) ImageReference(a string, ondisk bool) (v1.Image, error) {
|
||||
|
||||
f, err := s.ctx.Config.GetSystem().TempFile("snapshot")
|
||||
f, err := s.ctx.TempFile("snapshot")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -25,10 +25,10 @@ import (
|
||||
type BackendWriter struct {
|
||||
BufferedOutput bool
|
||||
Buffer *bytes.Buffer
|
||||
ctx *types.Context
|
||||
ctx types.Context
|
||||
}
|
||||
|
||||
func NewBackendWriter(buffered bool, ctx *types.Context) *BackendWriter {
|
||||
func NewBackendWriter(buffered bool, ctx types.Context) *BackendWriter {
|
||||
return &BackendWriter{
|
||||
BufferedOutput: buffered,
|
||||
Buffer: &bytes.Buffer{},
|
||||
@@ -41,7 +41,7 @@ func (b *BackendWriter) Write(p []byte) (int, error) {
|
||||
return b.Buffer.Write(p)
|
||||
}
|
||||
|
||||
b.ctx.Msg("info", false, (string(p)))
|
||||
b.ctx.Info((string(p)))
|
||||
|
||||
return len(p), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user