Skip to content

Commit

Permalink
refactor: move CloseAndCheckError and ReadDirContent to go-fs-util (r…
Browse files Browse the repository at this point in the history
…euse in electron-build-service)
  • Loading branch information
develar committed May 13, 2018
1 parent 55b96cd commit 581f890
Show file tree
Hide file tree
Showing 12 changed files with 29 additions and 77 deletions.
16 changes: 8 additions & 8 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion pkg/appimage/appImage.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/develar/app-builder/pkg/linuxTools"
"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
)

type AppImageOptions struct {
Expand Down Expand Up @@ -117,7 +118,7 @@ func writeRuntimeData(filePath string, runtimeData []byte) error {
}

_, err = file.WriteAt(runtimeData, 0)
return util.CloseAndCheckError(err, file)
return fsutil.CloseAndCheckError(err, file)
}

func createSquashFs(options AppImageOptions, offset int) error {
Expand Down
4 changes: 2 additions & 2 deletions pkg/download/ActualLocation.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"os"

"github.com/apex/log"
"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
)

// ActualLocation represents server's status 200 or 206 response meta data. It never holds redirect responses
Expand Down Expand Up @@ -129,7 +129,7 @@ func (actualLocation *ActualLocation) concatenateParts(expectedSha512 string) er
}

_, err = io.CopyBuffer(totalFile, reader, buf)
err = util.CloseAndCheckError(err, partFile)
err = fsutil.CloseAndCheckError(err, partFile)
if err != nil {
return errors.WithStack(err)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/download/Part.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"time"

"github.com/apex/log"
"github.com/develar/app-builder/pkg/util"
"github.com/develar/go-fs-util"
)

type Part struct {
Expand Down Expand Up @@ -73,7 +73,7 @@ func (part *Part) download(context context.Context, url string, index int, clien
response, err = client.Do(req)
if err != nil {
if response != nil {
err = util.CloseAndCheckError(err, response.Body)
err = fsutil.CloseAndCheckError(err, response.Body)
}
if i == 3 {
return err
Expand Down
2 changes: 1 addition & 1 deletion pkg/fs/copier.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ type LinkInfo struct {

// go doesn't provide native copy operation (CoW)
func (fileCopier *FileCopier) copyDir(from string, to string, fromInfo os.FileInfo) error {
fileNames, err := ReadDirContent(from)
fileNames, err := fsutil.ReadDirContent(from)
if err != nil {
return errors.WithStack(err)
}
Expand Down
40 changes: 2 additions & 38 deletions pkg/fs/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,46 +7,10 @@ import (
"strings"
"syscall"

"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
)

func ReadDirContent(dirPath string) ([]string, error) {
dir, err := os.Open(dirPath)
if err != nil {
return nil, errors.WithStack(err)
}

files, err := dir.Readdirnames(0)
return files, util.CloseAndCheckError(err, dir)
}

func EnsureEmptyDir(dirPath string) error {
dir, err := os.Open(dirPath)
if err != nil {
if os.IsNotExist(err) {
return errors.WithStack(os.MkdirAll(dirPath, 0777))
} else {
return errors.WithStack(err)
}
}

defer dir.Close()

files, err := dir.Readdirnames(0)
if err != nil {
return errors.WithStack(err)
}

for _, name := range files {
err = os.RemoveAll(filepath.Join(dirPath, name))
if err != nil {
return errors.WithStack(err)
}
}
return nil
}

func ReadFile(file string, size int) ([]byte, error) {
reader, err := os.Open(file)
if err != nil {
Expand All @@ -55,7 +19,7 @@ func ReadFile(file string, size int) ([]byte, error) {

result := make([]byte, size)
_, err = reader.Read(result)
return result, util.CloseAndCheckError(err, reader)
return result, fsutil.CloseAndCheckError(err, reader)
}

func RemoveByGlob(fileGlob string) error {
Expand Down
4 changes: 2 additions & 2 deletions pkg/icons/collect-icons.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import (
"strings"

"github.com/apex/log"
"github.com/develar/app-builder/pkg/fs"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
)

func CollectIcons(sourceDir string) ([]IconInfo, string, error) {
files, err := fs.ReadDirContent(sourceDir)
files, err := fsutil.ReadDirContent(sourceDir)
if err != nil {
if os.IsNotExist(err) {
return nil, "", errors.Errorf("icon directory %s doesn't exist", sourceDir)
Expand Down
6 changes: 3 additions & 3 deletions pkg/icons/icns-to-png.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"runtime"

"github.com/apex/log"
"github.com/develar/app-builder/pkg/fs"
"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
"github.com/disintegration/imaging"
)

Expand All @@ -31,7 +31,7 @@ var icnsTypeToSize = []Icns2PngMapping{
}

func ConvertIcnsToPng(inFile string, outDir string) ([]IconInfo, error) {
err := fs.EnsureEmptyDir(outDir)
err := fsutil.EnsureEmptyDir(outDir)
if err != nil {
return nil, errors.WithStack(err)
}
Expand Down Expand Up @@ -81,7 +81,7 @@ func ConvertIcnsToPngUsingIconUtil(inFile string, outDir string, sizeList *[]int
return nil, errors.WithStack(err)
}

iconFileNames, err := fs.ReadDirContent(outDir)
iconFileNames, err := fsutil.ReadDirContent(outDir)
if err != nil {
return nil, errors.WithStack(err)
}
Expand Down
7 changes: 3 additions & 4 deletions pkg/icons/icns.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"io"
"io/ioutil"

"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
"github.com/disintegration/imaging"
Expand Down Expand Up @@ -114,15 +113,15 @@ func ConvertToIcns(inputInfo InputFileInfo, outFilePath string) error {

_, err = outFile.Write(icnsHeader)
if err != nil {
return errors.WithStack(util.CloseAndCheckError(err, outFile))
return errors.WithStack(fsutil.CloseAndCheckError(err, outFile))
}
_, err = outFile.Write(lengthBytes)
if err != nil {
return errors.WithStack(util.CloseAndCheckError(err, outFile))
return errors.WithStack(fsutil.CloseAndCheckError(err, outFile))
}

_, err = io.Copy(outFile, icns)
err = util.CloseAndCheckError(err, outFile)
err = fsutil.CloseAndCheckError(err, outFile)
if err != nil {
return errors.WithStack(err)
}
Expand Down
3 changes: 2 additions & 1 deletion pkg/icons/icnsToPngUsingOpenJpeg.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"github.com/develar/app-builder/pkg/linuxTools"
"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
)

var sameSize = map[string]string{
Expand Down Expand Up @@ -105,7 +106,7 @@ func ConvertIcnsToPngUsingOpenJpeg(icnsPath string, outDir string) ([]IconInfo,
}

_, err = io.Copy(outWriter, io.LimitReader(reader, int64(subImage.Length)))
err = util.CloseAndCheckError(err, outWriter)
err = fsutil.CloseAndCheckError(err, outWriter)
if err != nil {
return nil, errors.WithStack(err)
}
Expand Down
3 changes: 1 addition & 2 deletions pkg/icons/image-util.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"os"

"github.com/biessek/golang-ico"
"github.com/develar/app-builder/pkg/util"
"github.com/develar/errors"
"github.com/develar/go-fs-util"
)
Expand Down Expand Up @@ -124,5 +123,5 @@ func SaveImage2(image image.Image, outFile *os.File, format int) error {
return err
}

return util.CloseAndCheckError(writer.Flush(), outFile)
return fsutil.CloseAndCheckError(writer.Flush(), outFile)
}
14 changes: 1 addition & 13 deletions pkg/util/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ package util

import (
"encoding/json"
"io"
"os"
"os"
"os/exec"

"github.com/alecthomas/kingpin"
Expand All @@ -22,17 +21,6 @@ func ConfigureIsRemoveStageParam(command *kingpin.CmdClause) *bool {
return command.Flag("remove-stage", "Whether to remove stage after build.").Default(isRemoveStageDefaultValue).Bool()
}

func CloseAndCheckError(err error, closable io.Closer) error {
closeErr := closable.Close()
if err != nil {
return errors.WithStack(err)
}
if closeErr != nil {
return errors.WithStack(closeErr)
}
return nil
}

func IsDebugEnabled() bool {
return getLevel() <= log.DebugLevel
}
Expand Down

0 comments on commit 581f890

Please sign in to comment.