Merge pull request #145 from tockins/dev

Bug fix
This commit is contained in:
Alessio Pracchia 2017-12-29 19:28:28 +01:00 committed by GitHub
commit ba1c78c62c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 6 deletions

0
Dockerfile Normal file
View File

0
docker-compose.yml Normal file
View File

View File

@ -284,9 +284,10 @@ L:
for {
select {
case event := <-p.watcher.Events():
if p.parent.Settings.Debug {
log.Println("Event:", event, "File:", event.Name, "LastFile:", p.lastFile, "Time:", time.Now(), "LastTime:", p.lastTime)
}
if time.Now().Truncate(time.Second).After(p.lastTime) || event.Name != p.lastFile {
// event time
eventTime := time.Now()
// switch event type
switch event.Op {
case fsnotify.Chmod:
@ -308,7 +309,7 @@ L:
if fi.IsDir() {
filepath.Walk(event.Name, p.walk)
} else {
if event.Op != fsnotify.Write || (eventTime.Truncate(time.Millisecond).After(fi.ModTime().Truncate(time.Millisecond)) || event.Name != p.lastFile) {
if event.Op != fsnotify.Write || event.Name != p.lastFile {
// stop and restart
close(p.stop)
p.stop = make(chan bool)
@ -363,7 +364,7 @@ func (p *Project) Validate(path string, fiche bool) bool {
if err != nil {
return false
}
if fi.IsDir() || (!fi.IsDir() && fi.Size() > 0) {
if fi.Size() > 0 {
return true
}
return false

View File

@ -29,9 +29,10 @@ const (
// Settings defines a group of general settings and options
type Settings struct {
Files `yaml:"files,omitempty" json:"files,omitempty"`
Legacy Legacy `yaml:"legacy" json:"legacy"`
FileLimit int32 `yaml:"flimit,omitempty" json:"flimit,omitempty"`
Recovery bool `yaml:"recovery,omitempty" json:"recovery,omitempty"`
Debug bool `yaml:"debug,omitempty" json:"debug,omitempty"`
FileLimit int32 `yaml:"flimit,omitempty" json:"flimit,omitempty"`
Legacy Legacy `yaml:"legacy" json:"legacy"`
}
// Legacy is used to force polling and set a custom interval

View File

@ -3,6 +3,7 @@ package realize
import (
"bytes"
"errors"
"io/ioutil"
"os/exec"
"path/filepath"
"strings"
@ -95,6 +96,18 @@ func (t *Tool) Exec(path string, stop <-chan bool) (response Response) {
if filepath.Ext(path) != "" {
path = filepath.Dir(path)
}
// check if there is at least one go file
matched := false
files, _ := ioutil.ReadDir(path)
for _, f := range files {
matched, _ = filepath.Match("*.go", f.Name())
if matched {
break
}
}
if !matched {
return
}
} else if !strings.HasSuffix(path, ".go") {
return
}