Skip to content

Commit 093b727

Browse files
committed
remove plugsin from /internal/ code, commands.go and repository.go
1 parent 43bc456 commit 093b727

File tree

2 files changed

+43
-56
lines changed

2 files changed

+43
-56
lines changed

internal/memex/commands.go

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ package memex
33
import (
44
"fmt"
55
"os"
6+
"os/exec"
67
"path/filepath"
78
"strconv"
89
"strings"
910

1011
"memex/internal/memex/core"
1112
"memex/internal/memex/migration"
1213
"memex/internal/memex/repository"
13-
"memex/pkg/types"
1414
)
1515

1616
var (
@@ -62,52 +62,52 @@ func ModuleCommand(args ...string) error {
6262
}
6363
return nil
6464

65-
case "install":
65+
case "add":
6666
if len(args) < 2 {
67-
return fmt.Errorf("install requires module path")
67+
return fmt.Errorf("add requires module path")
6868
}
6969

70-
// Check for --dev flag
71-
var devMode bool
72-
var modulePath string
73-
if strings.HasPrefix(args[1], "--dev=") {
74-
devValue := strings.TrimPrefix(args[1], "--dev=")
75-
devMode = devValue == "true"
76-
if len(args) < 3 {
77-
return fmt.Errorf("install requires module path")
78-
}
79-
modulePath = args[2]
80-
} else {
81-
modulePath = args[1]
70+
// Run go get
71+
cmd := exec.Command("go", "get", args[1])
72+
cmd.Dir = filepath.Dir(repoPath)
73+
if err := cmd.Run(); err != nil {
74+
return fmt.Errorf("installing module: %w", err)
75+
}
76+
77+
fmt.Printf("Module %s added successfully\n", args[1])
78+
return nil
79+
80+
case "update":
81+
// Run go get -u
82+
cmd := exec.Command("go", "get", "-u", "./...")
83+
cmd.Dir = filepath.Dir(repoPath)
84+
if err := cmd.Run(); err != nil {
85+
return fmt.Errorf("updating modules: %w", err)
8286
}
8387

84-
// Get module ID from path
85-
moduleID := filepath.Base(modulePath)
86-
moduleID = strings.TrimSuffix(moduleID, filepath.Ext(moduleID))
87-
88-
// Convert to module repository
89-
var moduleRepo types.ModuleRepository
90-
if r, ok := repo.(*repository.Repository); ok {
91-
moduleRepo = r.AsModuleRepository()
92-
} else if mr, ok := repo.(types.ModuleRepository); ok {
93-
moduleRepo = mr
94-
} else {
95-
return fmt.Errorf("repository does not support module operations")
88+
fmt.Println("Modules updated successfully")
89+
return nil
90+
91+
case "remove":
92+
if len(args) < 2 {
93+
return fmt.Errorf("remove requires module name")
9694
}
9795

98-
// Add module path
99-
if devMode {
100-
moduleRepo.GetLoader().AddDevPath(moduleID, modulePath)
101-
} else {
102-
moduleRepo.GetLoader().AddPath(modulePath)
96+
// Run go mod edit to remove module
97+
cmd := exec.Command("go", "mod", "edit", "-droprequire", args[1])
98+
cmd.Dir = filepath.Dir(repoPath)
99+
if err := cmd.Run(); err != nil {
100+
return fmt.Errorf("removing module: %w", err)
103101
}
104102

105-
// Discover and load modules
106-
if err := moduleRepo.GetDiscovery().DiscoverModules(); err != nil {
107-
return fmt.Errorf("discovering modules: %w", err)
103+
// Run go mod tidy
104+
cmd = exec.Command("go", "mod", "tidy")
105+
cmd.Dir = filepath.Dir(repoPath)
106+
if err := cmd.Run(); err != nil {
107+
return fmt.Errorf("tidying modules: %w", err)
108108
}
109109

110-
fmt.Printf("Module %s installed successfully\n", moduleID)
110+
fmt.Printf("Module %s removed successfully\n", args[1])
111111
return nil
112112

113113
default:

internal/memex/repository/repository.go

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import (
1414
"memex/internal/memex/storage/rabin"
1515
"memex/internal/memex/storage/store"
1616
"memex/internal/memex/transaction"
17-
"memex/pkg/sdk"
1817
"memex/pkg/types"
1918
)
2019

@@ -36,15 +35,13 @@ type Header struct {
3635

3736
// Repository represents a content repository
3837
type Repository struct {
39-
path string
40-
file *os.File
41-
header Header
42-
store *store.ChunkStore
43-
txStore *transaction.ActionStore
44-
lockMgr sync.Mutex
45-
modules map[string]core.Module
46-
loader *sdk.ModuleLoader
47-
discovery *sdk.ModuleDiscovery
38+
path string
39+
file *os.File
40+
header Header
41+
store *store.ChunkStore
42+
txStore *transaction.ActionStore
43+
lockMgr sync.Mutex
44+
modules map[string]core.Module
4845
}
4946

5047
// Ensure Repository implements required interfaces
@@ -91,11 +88,6 @@ func Create(path string) (*Repository, error) {
9188
modules: make(map[string]core.Module),
9289
}
9390

94-
// Create module manager
95-
mgr := sdk.NewManager()
96-
repo.loader = sdk.NewModuleLoader(mgr)
97-
repo.discovery = sdk.NewModuleDiscovery(repo.loader)
98-
9991
// Create transaction store
10092
txStore, err := transaction.NewActionStore(repo)
10193
if err != nil {
@@ -147,11 +139,6 @@ func Open(path string) (*Repository, error) {
147139
modules: make(map[string]core.Module),
148140
}
149141

150-
// Create module manager
151-
mgr := sdk.NewManager()
152-
repo.loader = sdk.NewModuleLoader(mgr)
153-
repo.discovery = sdk.NewModuleDiscovery(repo.loader)
154-
155142
// Create transaction store
156143
txStore, err := transaction.NewActionStore(repo)
157144
if err != nil {

0 commit comments

Comments
 (0)