blob: 929ce95882e6755ec5905a3237d10fb52e19ec5c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
package cli
import (
"fmt"
"log"
"codeberg.org/snonux/gitsyncer/internal/config"
"codeberg.org/snonux/gitsyncer/internal/showcase"
)
// HandleShowcase handles the showcase generation after syncing
func HandleShowcase(cfg *config.Config, flags *Flags) int {
// Determine which repositories to process
var repoFilter []string
if flags.SyncRepo != "" {
// Only process the specific repository that was synced
repoFilter = []string{flags.SyncRepo}
fmt.Printf("\nGenerating showcase for %s...\n", flags.SyncRepo)
} else {
// Process all repositories for --sync-all or public sync operations
fmt.Println("\nGenerating project showcase for all repositories...")
}
// Create showcase generator
generator := showcase.New(cfg, flags.WorkDir)
// Set AI tool if specified
if flags.AITool != "" {
generator.SetAITool(flags.AITool)
}
// Generate showcase with optional filter
if err := generator.GenerateShowcase(repoFilter, flags.Force); err != nil {
log.Printf("ERROR: Failed to generate showcase: %v\n", err)
return 1
}
fmt.Println("Showcase generated successfully!")
return 0
}
|