aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/flakeinfo/main.go73
-rw-r--r--go.mod3
-rw-r--r--go.sum0
-rw-r--r--internal/git/main.go22
-rw-r--r--internal/terminal/link.go13
-rw-r--r--internal/version/main.go12
-rw-r--r--pkg/flake/lock/main.go109
7 files changed, 0 insertions, 232 deletions
diff --git a/cmd/flakeinfo/main.go b/cmd/flakeinfo/main.go
deleted file mode 100644
index 23a5169..0000000
--- a/cmd/flakeinfo/main.go
+++ /dev/null
@@ -1,73 +0,0 @@
-package main
-
-import (
- "errors"
- "flag"
- "fmt"
- "os"
- "text/template"
-
- "github.com/fcuny/world/internal/version"
- "github.com/fcuny/world/pkg/flake/lock"
-)
-
-const usage = `Usage:
- flake-info [flake.lock]
-
-Options:
- -v, --version Print version information
- -h, --help Print this message
-`
-
-const tmplInput = ` • repository: {{ .Locked.Repository }}
- • updated on: {{ .Locked.LastModifiedRFC3339 }}
-
-`
-
-func main() {
- flag.Usage = func() { fmt.Fprintf(os.Stderr, "%s\n", usage) }
-
- var (
- flakeLockPath string
- versionFlag bool
- )
-
- flag.StringVar(&flakeLockPath, "flake-lock", "flake.lock", "path to the flake lock file")
- flag.BoolVar(&versionFlag, "version", false, "Print version information")
- flag.BoolVar(&versionFlag, "v", false, "Print version information")
-
- flag.Parse()
-
- if versionFlag {
- information := version.VersionAndBuildInfo()
- fmt.Println(information)
- return
- }
-
- if _, err := os.Stat(flakeLockPath); err != nil {
- if errors.Is(err, os.ErrNotExist) {
- fmt.Fprintf(os.Stderr, "%s does not exists\n", flakeLockPath)
- } else {
- fmt.Fprintf(os.Stderr, "failed to check if %s exists: %v\n", flakeLockPath, err)
- }
- os.Exit(1)
- }
-
- lock, err := lock.New(flakeLockPath)
- if err != nil {
- fmt.Fprintf(os.Stderr, "failed to parse the lockfile for %s: %+v\n", flakeLockPath, err)
- os.Exit(1)
- }
-
- for nodeName, node := range lock.Nodes {
- tmpl, err := template.New("tmpl").Parse(tmplInput)
- if err != nil {
- panic(err)
- }
- fmt.Printf("%s\n", nodeName)
- err = tmpl.Execute(os.Stdout, node)
- if err != nil {
- panic(err)
- }
- }
-}
diff --git a/go.mod b/go.mod
deleted file mode 100644
index c28fd3c..0000000
--- a/go.mod
+++ /dev/null
@@ -1,3 +0,0 @@
-module github.com/fcuny/world
-
-go 1.21.4
diff --git a/go.sum b/go.sum
deleted file mode 100644
index e69de29..0000000
--- a/go.sum
+++ /dev/null
diff --git a/internal/git/main.go b/internal/git/main.go
deleted file mode 100644
index 67e7d4d..0000000
--- a/internal/git/main.go
+++ /dev/null
@@ -1,22 +0,0 @@
-package git
-
-import (
- "fmt"
- "os/exec"
- "strings"
-)
-
-func Root() (string, error) {
- cmd := exec.Command("git", "rev-parse", "--show-toplevel")
- output, err := cmd.Output()
- if err != nil {
- return "", fmt.Errorf("failed to get git repository: %s", err)
- }
-
- // The output includes the full path to the repository. To get just the name,
- // we can split the path by "/" and take the last part.
- pathParts := strings.Split(strings.TrimSpace(string(output)), "/")
- repoName := pathParts[len(pathParts)-1]
-
- return repoName, nil
-}
diff --git a/internal/terminal/link.go b/internal/terminal/link.go
deleted file mode 100644
index a50b199..0000000
--- a/internal/terminal/link.go
+++ /dev/null
@@ -1,13 +0,0 @@
-package terminal
-
-import "fmt"
-
-// Link returns a formatted string that represents a hyperlink.
-// The hyperlink is created using the escape sequence for terminal emulators.
-// The text parameter represents the visible text of the hyperlink,
-// and the url parameter represents the URL that the hyperlink points to.
-// For more information on the escape sequence, refer to:
-// https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda#the-escape-sequence
-func Link(text string, url string) string {
- return fmt.Sprintf("\x1b]8;;%s\x07%s\x1b]8;;\x07\u001b[0m", url, text)
-}
diff --git a/internal/version/main.go b/internal/version/main.go
deleted file mode 100644
index d8a745f..0000000
--- a/internal/version/main.go
+++ /dev/null
@@ -1,12 +0,0 @@
-package version
-
-import "fmt"
-
-var Version, BuildDate string
-
-func VersionAndBuildInfo() string {
- if Version != "" {
- return fmt.Sprintf("version: %s, build on: %s", Version, BuildDate)
- }
- return "(unknown)"
-}
diff --git a/pkg/flake/lock/main.go b/pkg/flake/lock/main.go
deleted file mode 100644
index 7edf61f..0000000
--- a/pkg/flake/lock/main.go
+++ /dev/null
@@ -1,109 +0,0 @@
-package lock
-
-import (
- "encoding/json"
- "fmt"
- "os"
- "time"
-)
-
-type FlakeLock struct {
- // Version of the lock file
- Version int
- // Root is the root node for the flake, containing all the inputs
- Root RootNode
- // Nodes represent all the inputs node for a flake
- Nodes map[string]Node
-}
-
-type Node struct {
- // Flake indicate whether the input is a flake
- Flake bool `json:"flake"`
- // Locked represent the locked attribute of the input
- Locked repoLocked `json:"locked"`
- // Original represent the user supplied attributes for the input
- Original repoOriginal `json:"original"`
-}
-
-type repoLocked struct {
- // LastModified represent the timestamp of when the input was updated last
- LastModified int64 `json:"lastModified"`
- // NarHash is the NAR hash for the input
- NarHash string `json:"narHash"`
- // Owner of the repository
- Owner string `json:"owner"`
- // Repository of the input
- Repo string `json:"repo"`
- // Revision of the input
- Rev string `json:"rev"`
- // Type of input
- Type string `json:"type"`
-}
-
-type repoOriginal struct {
- Owner string `json:"owner"`
- Ref string `json:"ref"`
- Repo string `json:"repo"`
- Type string `json:"type"`
-}
-
-// RootNode is a mapping of input
-type RootNode struct {
- // Inputs contains the mapping of input
- Inputs map[string]string `json:"inputs"`
-}
-
-// New return a representation of a flake lock
-func New(flakeLockPath string) (*FlakeLock, error) {
- content, err := os.ReadFile(flakeLockPath)
- if err != nil {
- return nil, fmt.Errorf("failed to read %s: %v", flakeLockPath, err)
- }
-
- var lock struct {
- Version int `json:"version"`
- Root string `json:"root"`
- Nodes map[string]json.RawMessage `json:"nodes"`
- }
-
- if err := json.Unmarshal(content, &lock); err != nil {
- return nil, fmt.Errorf("failed to parse %s: %v", flakeLockPath, err)
- }
-
- var flakeLock FlakeLock
- flakeLock.Version = lock.Version
- flakeLock.Nodes = map[string]Node{}
-
- for nodeName, node := range lock.Nodes {
- if nodeName != lock.Root {
- var n Node
- if err := json.Unmarshal(node, &n); err != nil {
- return nil, fmt.Errorf("failed to read node %s: %v", nodeName, err)
- }
- flakeLock.Nodes[nodeName] = n
- } else {
- var r RootNode
- if err := json.Unmarshal(node, &r); err != nil {
- return nil, fmt.Errorf("failed to read the root node: %v", err)
- }
- flakeLock.Root = r
- }
- }
-
- return &flakeLock, nil
-}
-
-func (l repoLocked) LastModifiedRFC3339() string {
- date := time.Unix(l.LastModified, 0)
- unitTimeInRFC3339 := date.Format(time.RFC3339)
- return unitTimeInRFC3339
-}
-
-func (l repoLocked) Repository() string {
- switch l.Type {
- case "github":
- return fmt.Sprintf("https://github.com/%s/%s", l.Owner, l.Repo)
- default:
- return fmt.Sprintf("%s/%s", l.Repo, l.Owner)
- }
-}