-
Notifications
You must be signed in to change notification settings - Fork 1
/
Asterfile
38 lines (33 loc) · 1.06 KB
/
Asterfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var os = require('os');
var path = require('path');
var go_ = require('language/go');
var go = go_.go;
var md2html = require('language/markdown').md2html;
var title = 'Aster ☆ ' + path.basename(os.getwd());
aster.title(title);
// go
aster.watch(/.+\.go$/, function(files) {
if (files.some(function(e) { return /[/\\](?:(?:notify|syscall)_windows|gntp)\.go$/.test(e); })) {
if (go.generate('./...')) return;
}
go.mod.tidy();
// go test for each package
var bad = go_.packagesOf(files).some(function(p) {
return go.test('-v', '-race', '-coverprofile', p + '/cover.out', p);
});
// combine coverage profiles
if (!bad) {
var out = go_.combine({ profile: 'cover.out', out: 'cover.all.out', packages: ['./...'] });
go.tool.cover('-func', out);
go.tool.cover('-html', out, '-o', 'coverage.html');
os.remove(out);
}
if (go.vet('-unsafeptr=false', './...')) return;
});
aster.watch(/go\.mod$/, function() {
go.mod.tidy();
});
// md
aster.watch(/.+\.md$/, function(files) {
files.some(function(md) { return md2html({ src: md }); });
});