Added a function to read manifest from the file manifest.toml and not only from a package file
This commit is contained in:
@@ -8,11 +8,12 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"packets/configs"
|
"packets/configs"
|
||||||
"packets/internal/consts"
|
"packets/internal/consts"
|
||||||
errors_packets "packets/internal/errors"
|
errors_packets "packets/internal/errors"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/klauspost/compress/zstd"
|
"github.com/klauspost/compress/zstd"
|
||||||
"github.com/pelletier/go-toml/v2"
|
"github.com/pelletier/go-toml/v2"
|
||||||
@@ -42,7 +43,6 @@ type Package struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetFileHTTP(url string) ([]byte, error) {
|
func GetFileHTTP(url string) ([]byte, error) {
|
||||||
|
|
||||||
resp, err := http.Get(url)
|
resp, err := http.Get(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
@@ -84,7 +84,7 @@ func ReadManifest(file io.Reader) (configs.Manifest, error) {
|
|||||||
var manifest configs.Manifest
|
var manifest configs.Manifest
|
||||||
|
|
||||||
if err := decoder.Decode(&manifest); err != nil {
|
if err := decoder.Decode(&manifest); err != nil {
|
||||||
log.Fatal(err)
|
return configs.Manifest{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return manifest, nil
|
return manifest, nil
|
||||||
@@ -105,7 +105,7 @@ func CopyDir(src string, dest string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := os.MkdirAll(dest, 0755); err != nil {
|
if err := os.MkdirAll(dest, 0o755); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,18 +137,15 @@ func CopyDir(src string, dest string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// CopyFile copies a file from source to destination
|
// CopyFile copies a file from source to destination
|
||||||
func CopyFile(source string, destination string) error {
|
func CopyFile(source string, destination string) error {
|
||||||
|
|
||||||
src, err := os.Open(source)
|
src, err := os.Open(source)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
||||||
}
|
}
|
||||||
defer src.Close()
|
defer src.Close()
|
||||||
|
|
||||||
@@ -157,7 +154,7 @@ func CopyFile(source string, destination string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = os.MkdirAll(filepath.Dir(destination), 0755)
|
err = os.MkdirAll(filepath.Dir(destination), 0o755)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -189,8 +186,7 @@ func CopyFile(source string, destination string) error {
|
|||||||
|
|
||||||
// Write writes the package file to the cache directory and returns the path to it
|
// Write writes the package file to the cache directory and returns the path to it
|
||||||
func (p *Package) Write() (string, error) {
|
func (p *Package) Write() (string, error) {
|
||||||
|
if err := os.WriteFile(filepath.Join(consts.DefaultCache_d, p.Filename), p.PackageF, 0o644); err != nil {
|
||||||
if err := os.WriteFile(filepath.Join(consts.DefaultCache_d, p.Filename), p.PackageF, 0644); err != nil {
|
|
||||||
_ = os.Remove(filepath.Join(consts.DefaultCache_d, p.Filename))
|
_ = os.Remove(filepath.Join(consts.DefaultCache_d, p.Filename))
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
@@ -272,3 +268,15 @@ func GetDependencies(name string) ([]string, error) {
|
|||||||
|
|
||||||
return strings.Fields(dependenciesRaw), nil
|
return strings.Fields(dependenciesRaw), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ManifestFileRead(file io.Reader) (configs.Manifest, error) {
|
||||||
|
decoder := toml.NewDecoder(file)
|
||||||
|
|
||||||
|
var manifest configs.Manifest
|
||||||
|
|
||||||
|
if err := decoder.Decode(&manifest); err != nil {
|
||||||
|
return configs.Manifest{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return manifest, nil
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user