MCPcopy Create free account
hub / github.com/WendellCraft/ModpackDebuggerKit / CreateSnapshot

Method CreateSnapshot

app.go:463–497  ·  view source on GitHub ↗

--- Snapshot ---

()

Source from the content-addressed store, hash-verified

461// --- Snapshot ---
462
463func (a *App) CreateSnapshot() error {
464 a.mu.Lock()
465 modsDir := a.ProjectData.ModsDir
466 a.mu.Unlock()
467
468 if modsDir == "" {
469 return fmt.Errorf("please select a mod folder first")
470 }
471
472 entries, err := os.ReadDir(modsDir)
473 if err != nil {
474 return fmt.Errorf("mod folder does not exist: %w", err)
475 }
476
477 var modFiles []string
478 for _, e := range entries {
479 if !e.IsDir() && filepath.Ext(e.Name()) == ".jar" {
480 modFiles = append(modFiles, e.Name())
481 }
482 }
483
484 snapshotName := time.Now().Format("20060102_150405")
485 snapshot := &Snapshot{
486 Name: snapshotName,
487 Mods: modFiles,
488 }
489
490 a.mu.Lock()
491 a.ProjectData.LatestSnapshot = snapshot
492 a.ProjectModified = true
493 a.mu.Unlock()
494
495 a.emitLog(fmt.Sprintf("Snapshot created: %s (%d mods)", snapshotName, len(modFiles)), LogSuccess)
496 return nil
497}
498
499func (a *App) DetectNewMods() (*DetectResult, error) {
500 a.mu.Lock()

Callers 1

SaveNewModsForLaterMethod · 0.95

Calls 1

emitLogMethod · 0.95

Tested by

no test coverage detected