aboutsummaryrefslogtreecommitdiffstats
path: root/modules/util
diff options
context:
space:
mode:
authorBo-Yi Wu <appleboy.tw@gmail.com>2017-03-29 10:05:23 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2017-03-29 10:05:23 +0800
commit08f7fded3c097685af9370283fc8565b80fb0615 (patch)
treec57267d7d4b3d3c1027030398b128d254c2f42f6 /modules/util
parent6a451a2b5986bf5c27f20a00000495da1064c386 (diff)
downloadgitea-08f7fded3c097685af9370283fc8565b80fb0615.tar.gz
gitea-08f7fded3c097685af9370283fc8565b80fb0615.zip
refactor: remove workaround after the golang 1.7 release. (#1349)
* refactor: remove workaround after the golang 1.7 release. * remove unused import. Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * refactor: Add remove function. * refactor: rename * refactor: update build flag
Diffstat (limited to 'modules/util')
-rw-r--r--modules/util/remove.go14
-rw-r--r--modules/util/remove_windows.go16
2 files changed, 30 insertions, 0 deletions
diff --git a/modules/util/remove.go b/modules/util/remove.go
new file mode 100644
index 0000000000..8bca149914
--- /dev/null
+++ b/modules/util/remove.go
@@ -0,0 +1,14 @@
+// +build !windows,!go1.7 go1.7
+
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package util
+
+import "os"
+
+// RemoveAll files from Go version 1.7 onward
+func RemoveAll(path string) error {
+ return os.RemoveAll(path)
+}
diff --git a/modules/util/remove_windows.go b/modules/util/remove_windows.go
new file mode 100644
index 0000000000..f5891a589c
--- /dev/null
+++ b/modules/util/remove_windows.go
@@ -0,0 +1,16 @@
+// +build windows,!go1.7
+
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package util
+
+// RemoveAll files from path on windows
+// workaround for Go not being able to remove read-only files/folders: https://github.com/golang/go/issues/9606
+// this bug should be fixed on Go 1.7, so the workaround should be removed when Gitea don't support Go 1.6 anymore:
+// https://github.com/golang/go/commit/2ffb3e5d905b5622204d199128dec06cefd57790
+func RemoveAll(path string) error {
+ path = strings.Replace(path, "/", "\\", -1)
+ return exec.Command("cmd", "/C", "rmdir", "/S", "/Q", path).Run()
+}