Skip to content

Commit

Permalink
Cleaned the code
Browse files Browse the repository at this point in the history
Signed-off-by: Rohanraj123 <[email protected]>
  • Loading branch information
Rohanraj123 committed Jan 14, 2025
1 parent cf75dd2 commit 380981c
Show file tree
Hide file tree
Showing 11 changed files with 110 additions and 18 deletions.
3 changes: 2 additions & 1 deletion kpm.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
package main

import (
"fmt"
"os"

"github.com/urfave/cli/v2"
Expand All @@ -16,7 +17,7 @@ func main() {
reporter.InitReporter()
kpmcli, err := client.NewKpmClient()
if err != nil {
reporter.Fatal(err)
kpmcli.WriteLog(fmt.Sprintf("Error: %v", err))
}
app := cli.NewApp()
app.Name = "kpm"
Expand Down
Empty file.
14 changes: 13 additions & 1 deletion pkg/client/client.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package client

import (
"fmt"
"io"
"os"
"path/filepath"
"strings"

remoteauth "oras.land/oras-go/v2/registry/remote/auth"

"kcl-lang.io/kpm/pkg/checker"
"kcl-lang.io/kpm/pkg/constants"
"kcl-lang.io/kpm/pkg/downloader"
"kcl-lang.io/kpm/pkg/env"
"kcl-lang.io/kpm/pkg/logger"
pkg "kcl-lang.io/kpm/pkg/package"
"kcl-lang.io/kpm/pkg/reporter"
"kcl-lang.io/kpm/pkg/settings"
Expand Down Expand Up @@ -57,14 +60,23 @@ func NewKpmClient() (*KpmClient, error) {
)

return &KpmClient{
logWriter: os.Stdout,
logWriter: logger.NewLogWriter(),
settings: *settings,
homePath: homePath,
ModChecker: ModChecker,
DepDownloader: &downloader.DepDownloader{},
}, nil
}

// WriteLog writes a log message
func (c *KpmClient) WriteLog(message string) {
if strings.Contains(message, "[FATAL]") {
fmt.Fprintln(c.logWriter, message)
os.Exit(1) // Exit the program
}
c.logWriter.Write([]byte(message + "\n"))
}

// SetInsecureSkipTLSverify will set the flag of whether to skip the verification of TLS.
func (c *KpmClient) SetInsecureSkipTLSverify(insecureSkipTLSverify bool) {
c.insecureSkipTLSverify = insecureSkipTLSverify
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,11 @@
reg = "ghcr.io"
repo = "kcl-lang/fluxcd-source-controller"
oci_tag = "v1.3.2"
[dependencies.k8s]
name = "k8s"
full_name = "k8s_1.31.2"
version = "1.31.2"
sum = "xBZgPsnpVVyWBpahuPQHReeRx28eUHGFoaPeqbct+vs="
reg = "ghcr.io"
repo = "kcl-lang/k8s"
oci_tag = "1.31.2"
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[dependencies]
[dependencies.cc]
name = "cc"
full_name = "flask-demo-kcl-manifests_8308200"
full_name = "cc_0.0.1"
version = "0.0.1"
url = "https://github.com/kcl-lang/flask-demo-kcl-manifests.git"
commit = "8308200"
Expand Down
2 changes: 2 additions & 0 deletions pkg/client/test_data/test_dep_order/kcl.mod.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
name = "helloworld"
full_name = "helloworld_0.1.2"
version = "0.1.2"
sum = "PN0OMEV9M8VGFn1CtA/T3bcgZmMJmOo+RkBrLKIWYeQ="
reg = "ghcr.io"
repo = "kcl-lang/helloworld"
oci_tag = "0.1.2"
[dependencies.jsonpatch]
name = "jsonpatch"
full_name = "jsonpatch_0.0.5"
version = "0.0.5"
sum = "HFrflv3tfgcx+CkCj4Pl7EIXjr+SKH8c+hRI4/A3ThA="
reg = "ghcr.io"
repo = "kcl-lang/jsonpatch"
oci_tag = "0.0.5"
7 changes: 0 additions & 7 deletions pkg/client/test_data/test_mod_file_package/test_pkg/kcl.mod

This file was deleted.

This file was deleted.

18 changes: 18 additions & 0 deletions pkg/event/event.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package event

import "kcl-lang.io/kpm/pkg/client"

// KpmEvent handles diagnostic events.
type KpmEvent struct {
client *client.KpmClient
}

// NewKpmEvent creates a new KpmEvent.
func NewKpmEvent(client *client.KpmClient) *KpmEvent {
return &KpmEvent{client: client}
}

// Log writes a diagnostic message.
func (e *KpmEvent) Log(message string) {
e.client.WriteLog(message)
}
38 changes: 38 additions & 0 deletions pkg/logger/logwriter.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package logger

import (
"fmt"
"os"
)

// LogWriter is a custom log writer with log level control.
type LogWriter struct {
Level LogLevel
}

// LogLevel represents the log level.
type LogLevel string

const (
InfoLevel LogLevel = "info"
DebugLevel LogLevel = "debug"
)

// NewLogWriter creates a new LogWriter with the given level.
func NewLogWriter() *LogWriter {
level := os.Getenv("KPM_LOG_LEVEL")
if level == "" {
level = string(InfoLevel)
}
return &LogWriter{Level: LogLevel(level)}
}

// Write implements the io.Writer interface.
func (lw *LogWriter) Write(p []byte) (n int, err error) {
if lw.Level == DebugLevel {
fmt.Fprintf(os.Stdout, "[DEBUG] %s", string(p))
} else {
fmt.Fprintf(os.Stdout, "[INFO] %s", string(p))
}
return len(p), nil
}
28 changes: 28 additions & 0 deletions pkg/logger/logwriter_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package logger

import (
"os"
"testing"
)

func TestLogWriterInfo(t *testing.T) {
os.Setenv("KPM_LOG_LEVEL", "info")
writer := NewLogWriter()

message := "Test Info Message"
n, err := writer.Write([]byte(message))
if err != nil || n != len(message) {
t.Errorf("expected %d bytes written, got %d, error: %v", len(message), n, err)
}
}

func TestLogWriterDebug(t *testing.T) {
os.Setenv("KPM_LOG_LEVEL", "debug")
writer := NewLogWriter()

message := "Test Debug Message"
n, err := writer.Write([]byte(message))
if err != nil || n != len(message) {
t.Errorf("expected %d bytes written, got %d, error: %v", len(message), n, err)
}
}

0 comments on commit 380981c

Please sign in to comment.