Skip to content
Snippets Groups Projects
Commit 95024bde authored by Florent Gluck's avatar Florent Gluck
Browse files

Removed unused code

parent 0081b9f9
No related branches found
No related tags found
No related merge requests found
......@@ -5,10 +5,8 @@ import (
"io"
"net"
"time"
"strings"
"strconv"
"math/rand"
"archive/tar"
"path/filepath"
"nexus-server/logger"
"golang.org/x/crypto/bcrypt"
......@@ -114,122 +112,3 @@ func IsPortAvailable(port int) bool {
ln.Close()
return true
}
// Creates the destTarball .tar archive of srcDir and all its files and subdirectories.
// This implementation fails if a symlink points to an absolute path that doesn't exist on the host.
// Source code slightly modified from: https://golangdocs.com/tar-gzip-in-golang
func TarDir(srcDir, destTarball string) error {
tarFile, err := os.Create(destTarball)
if err != nil {
return err
}
defer tarFile.Close()
tarball := tar.NewWriter(tarFile)
defer tarball.Close()
info, err := os.Stat(srcDir)
if err != nil {
return err
}
var baseDir string
if info.IsDir() {
baseDir = filepath.Base(srcDir)
}
return filepath.Walk(srcDir,
func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if (info.Mode() & os.ModeSymlink) != 0 {
log.Warn("TarDir: skipping symlink: ", path)
return nil
}
header, err := tar.FileInfoHeader(info, info.Name())
if err != nil {
return err
}
if baseDir != "" {
header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, srcDir))
}
if err := tarball.WriteHeader(header); err != nil {
return err
}
if info.IsDir() {
return nil
}
file, err := os.Open(path)
if err != nil {
return err
}
defer file.Close()
_, err = io.Copy(tarball, file)
return err
})
}
// Unarchive srcTarball into destDir.
func Untar(srcTarball, destDir string) error {
reader, err := os.Open(srcTarball)
if err != nil {
return err
}
defer reader.Close()
// First pass: reads and creates directories first.
tarDirReader := tar.NewReader(reader)
for {
header, err := tarDirReader.Next()
if err == io.EOF {
break
} else if err != nil {
return err
}
path := filepath.Join(destDir, header.Name)
info := header.FileInfo()
if info.IsDir() {
if err = os.MkdirAll(path, info.Mode()); err != nil {
return err
}
continue
}
}
// Seeks to the beginning of the file.
whence := 0
reader.Seek(0, whence)
// Second pass: reads and creates files.
tarFileReader := tar.NewReader(reader)
for {
header, err := tarFileReader.Next()
if err == io.EOF {
break
} else if err != nil {
return err
}
path := filepath.Join(destDir, header.Name)
info := header.FileInfo()
if !info.IsDir() {
file, err := os.OpenFile(path, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, info.Mode())
if err != nil {
return err
}
defer file.Close()
_, err = io.Copy(file, tarFileReader)
if err != nil {
return err
}
}
}
return nil
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment