This repository has been archived by the owner on Jan 6, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Gruntfile.js
74 lines (68 loc) · 2.05 KB
/
Gruntfile.js
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
var ci = require('./ci/integrator');
module.exports = function(grunt) {
var ISTANBUL_COMMAND = 'istanbul cover node_modules/mocha/bin/_mocha -- ';
var CI_CONFIG = {
publishedFolder: 'coverage',
scpBranchPath: { master: 'pod/apps/network_visualiser', next: 'pod/apps/network_visualiser_next' },
jsonReportFileName: 'results.json',
jscsReportFileName: 'jscs.txt'
};
grunt.initConfig({
shell: {
test: {
command: ISTANBUL_COMMAND + ' -R mocha-unfunk-reporter --recursive',
options: {
callback: ci.testCompleted
}
},
jscs: {
command: 'jscs . --reporter ci/reporters/jscs-reporter.js',
options: {
callback: ci.codeStyleChecker
}
},
jshint: {
command: 'jshint . --reporter ci/reporters/jshint-reporter.js',
options: {
callback: ci.jshintCompleted
}
},
scp: {
command: function(path) {
return 'scp -r ./coverage/lcov-report/* [email protected]:/usr/maidsafe/' +
path + '/frontend/test_results';
}
},
ci: {
command: ISTANBUL_COMMAND + ' --recursive -R json-cov > ' +
CI_CONFIG.publishedFolder + '/' + CI_CONFIG.jsonReportFileName,
options: {
callback: ci.coverageCompleted
}
},
gitBranch: {
command: 'git rev-parse --abbrev-ref HEAD',
options: {
callback: ci.gitBranchDetected
}
}
},
clean: {
test: [ CI_CONFIG.publishedFolder ]
},
mkdir: {
test: {
options: {
create: [ CI_CONFIG.publishedFolder ]
}
}
}
});
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-mkdir');
ci.init(grunt, CI_CONFIG);
grunt.registerTask('test', [ 'clean:test', 'mkdir:test', 'shell:jscs', 'shell:jshint', 'shell:test' ]);
grunt.registerTask('ci', [ 'shell:gitBranch', 'clean:test', 'mkdir:test', 'shell:jscs', 'shell:jshint',
'shell:ci', 'shell:test' ]);
};