forked from OPENi-ict/object-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Gruntfile.js
109 lines (98 loc) · 2.92 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
'use strict';
module.exports = function(grunt) {
var tests = 'test/**/*_test.js'
var build_tests = 'build/instrument/' + tests
var lib = 'lib/**/*.js'
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: {
build:['build']
},
jshint: {
all: [lib],
options: grunt.file.readJSON('.jshintrc')
},
nodeunit: {
all: tests
},
watch : {
files : [ lib, tests ],
tasks : 'default'
},
plato: {
options: {
title: 'Cloudlet API',
jshint: grunt.file.readJSON('.jshintrc')
},
metrics: {
files: {
'build/metrics': [ lib ]
}
}
},
instrument : {
files : [lib],
options : {
lazy : true,
excludes : tests,
basePath : 'build/instrument/',
flatten : false
}
},
reloadTasks : {
rootPath : 'build/instrument/lib'
},
storeCoverage : {
options : {
dir : 'build/reports/'
}
},
makeReport : {
src : 'build/reports/**/*.json',
options : {
reporters : {
'lcov' :{dir:'build/reports/'},
'cobertura':{dir:'build/reports/'}
},
print : 'detail'
}
},
coverage: {
options: {
thresholds: {
'statements': 90,
'branches' : 90,
'lines' : 90,
'functions' : 90
},
dir: 'reports',
root: 'build/'
}
},
required: {
libs: {
options: {
install: true
},
src: [lib]
}
}
});
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-nodeunit');
grunt.loadNpmTasks('grunt-qunit-cov');
grunt.loadNpmTasks('grunt-plato');
grunt.loadNpmTasks('grunt-istanbul');
grunt.loadNpmTasks('grunt-istanbul-coverage');
grunt.loadNpmTasks('grunt-contrib-nodeunit');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-config');
// Default task(s).
grunt.registerTask('test', ['nodeunit']);
grunt.registerTask('cover', ['clean:build', 'instrument', 'nodeunit', 'storeCoverage', 'makeReport']);
grunt.registerTask('default', ['required', 'jshint', 'nodeunit' ]);
grunt.registerTask('jenkins', ['jshint', 'cover', 'coverage', 'plato']);
};