4 Commits
v1.1 ... v1.2

Author SHA1 Message Date
dengsgo
3e31b5b375 增加 release 2018-09-30 09:46:54 +08:00
dengsgo
a5fb3aea36 修改 编译脚本 2018-09-30 09:43:14 +08:00
dengsgo
cae4bf355e 修复 递归监听忽略主级目录的bug 2018-09-30 09:27:15 +08:00
dengsgo
22fca4f68e 增加 README TODO Author 2018-09-28 15:46:06 +08:00
8 changed files with 54 additions and 13 deletions

View File

@@ -1,3 +1,12 @@
### Release v1.2
2018.09.30
- 修复 递归监听会忽略主级目录的bug
- 增加 `fileboy version`命令
### Release v1.1
2018.09.19

View File

@@ -1,12 +1,12 @@
## 项目说明
fileboy文件变更监听通知系统使用 GO 编写。
fileboy文件变更监听通知系统使用 Go 编写。
适用于 Hot Reload 典型的如开发go项目无需每次手动执行 go build又比如前端 node 打包) 或者 系统监控的场景。
## 编译环境
go version >=1.10
go version >=1.10,推荐 1.11
## 更新日志
@@ -17,10 +17,10 @@ go version >=1.10
### 下载二进制文件
Github: [正式版 v1.1](https://github.com/dengsgo/fileboy/releases)
Gitee [正式版 v1.1](https://gitee.com/dengsgo/fileboy/releases)
Github: [正式版 v1.2](https://github.com/dengsgo/fileboy/releases)
Gitee: [正式版 v1.2](https://gitee.com/dengsgo/fileboy/releases)
直接下载已经编译好的对应平台二进制文件,加入系统 Path 中即可。
下载已经编译好的对应平台二进制文件,重命名为`fileboy`, 加入系统 Path 中即可。
### 源码编译
@@ -102,6 +102,18 @@ command:
- echo {{file}}
```
### TODO
- [x] 命令支持变量占位符
- [x] 支持多命令
- [x] 支持监听指定文件夹
- [x] 支持不监听指定文件夹
- [x] 支持监听指定后缀文件
- [ ] 支持 http 通知
- [ ] 支持冗余任务丢弃
## QA
#### 很多框架都自带了 hot reload 的功能,为什么还要单独写个 fileboy 呢?
@@ -141,3 +153,14 @@ fileboy 目前支持 `命令 + 参数`这种形式的 command而且 参数中
#### 听说有彩蛋?
(◡ᴗ◡✿)
### 贡献者
> 排名不分先后
[@dengsgo](https://www.yoytang.com) <dengsgo@yoytang.com>
[@itwesley](https://github.com/itwesley) <wcshen1126@gmail.com>

View File

@@ -3,6 +3,6 @@ echo build start...
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build -ldflags "-s -w"
go build -ldflags "-s -w" -o fileboy-darwin-amd64.bin
echo build success
pause

View File

@@ -3,6 +3,6 @@ echo build start...
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build -ldflags "-s -w"
go build -ldflags "-s -w" -o fileboy-linux-amd64.bin
echo build success
pause

View File

@@ -3,6 +3,6 @@ echo build start...
SET CGO_ENABLED=0
SET GOOS=windows
SET GOARCH=amd64
go build -ldflags "-s -w"
go build -ldflags "-s -w" -o fileboy-windows-amd64.exe
echo build success
pause

View File

@@ -12,6 +12,7 @@ import (
"os"
"os/exec"
"path"
"strconv"
"sync"
"time"
)
@@ -34,7 +35,7 @@ var (
type changeFile struct {
Name string
changed int64
Changed int64
Ext string
}
@@ -75,7 +76,7 @@ func eventDispatcher(event fsnotify.Event) {
}
go run(&changeFile{
Name: relativePath(projectFolder, event.Name),
changed: time.Now().UnixNano(),
Changed: time.Now().UnixNano(),
Ext: ext,
})
case fsnotify.Remove:
@@ -143,12 +144,14 @@ func addWatcher() {
}
break
} else {
md := projectFolder + "/" + darr[0]
if len(darr) == 2 && darr[1] == "*" {
listFile(projectFolder+"/"+darr[0], func(d string) {
dirs = arrayUniqueAdd(dirs, md)
listFile(md, func(d string) {
dirs = arrayUniqueAdd(dirs, d)
})
} else {
dirs = arrayUniqueAdd(dirs, projectFolder+"/"+darr[0])
dirs = arrayUniqueAdd(dirs, md)
}
}
@@ -228,6 +231,10 @@ func parseArgs() {
parseConfig()
run(new(changeFile))
return
case "version":
fallthrough
case "v":
fmt.Println("[VERSION] Release: v1.2 filegirl: " + strconv.Itoa(Version))
default:
fmt.Print(helpStr)
}

2
raw.go
View File

@@ -60,6 +60,8 @@ Usage of fileboy:
初始化 fileboy, 在当前目录生成 filegirl.yaml 配置文件
exec
尝试运行定义的 command 命令
version
查看当前版本号
`
var englishSay = []string{

View File

@@ -32,7 +32,7 @@ func strParseRealStr(s string, cf *changeFile) string {
strings.Replace(s, "{{file}}", cf.Name, -1),
"{{ext}}", cf.Ext, -1,
),
"{{changed}}", strconv.FormatInt(cf.changed, 10), -1,
"{{changed}}", strconv.FormatInt(cf.Changed, 10), -1,
)
}