diff options
author | Péter Szilágyi <peterke@gmail.com> | 2016-11-09 05:55:39 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2016-11-09 05:55:39 +0800 |
commit | 9bc97a5785d3d350a084b46fc77a8439b8dc533b (patch) | |
tree | 1802db150e1fed6272e08dd17b85a8a188ee55c8 /internal | |
parent | 6707f70b4a947a06fdcf564619e6c8220a6654ad (diff) | |
download | dexon-9bc97a5785d3d350a084b46fc77a8439b8dc533b.tar.gz dexon-9bc97a5785d3d350a084b46fc77a8439b8dc533b.tar.zst dexon-9bc97a5785d3d350a084b46fc77a8439b8dc533b.zip |
build: NSIS based Windows installer (#3240)
This commit adds support for creating Windows installers to ci.go
Diffstat (limited to 'internal')
-rw-r--r-- | internal/build/util.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/build/util.go b/internal/build/util.go index a821cd7f2..ce17ce220 100644 --- a/internal/build/util.go +++ b/internal/build/util.go @@ -20,6 +20,7 @@ import ( "bytes" "flag" "fmt" + "io" "io/ioutil" "log" "os" @@ -117,3 +118,25 @@ func render(tpl *template.Template, outputFile string, outputPerm os.FileMode, x log.Fatal(err) } } + +// CopyFile copies a file. +func CopyFile(dst, src string, mode os.FileMode) { + if err := os.MkdirAll(filepath.Dir(dst), 0755); err != nil { + log.Fatal(err) + } + destFile, err := os.OpenFile(dst, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, mode) + if err != nil { + log.Fatal(err) + } + defer destFile.Close() + + srcFile, err := os.Open(src) + if err != nil { + log.Fatal(err) + } + defer srcFile.Close() + + if _, err := io.Copy(destFile, srcFile); err != nil { + log.Fatal(err) + } +} |