This repository was archived by the owner on Nov 21, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGulpfile.js
More file actions
51 lines (43 loc) · 1.45 KB
/
Gulpfile.js
File metadata and controls
51 lines (43 loc) · 1.45 KB
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
var gulp = require('gulp');
var fs = require('fs');
var msbuild = require('gulp-msbuild');
var exec = require('child_process').exec;
var nuget = require('nuget-runner')({});
gulp.task('default', ['nuget-restore', 'create-folders', 'build', 'test', 'nuget-pack']);
gulp.task('create-folders', function(){
return fs.mkdir('./artifacts');
});
gulp.task('nuget-restore', function(){
return nuget.restore({packages: './src/ExitStrategy.sln'});
});
gulp.task('build', ['nuget-restore'], function() {
return gulp
.src('./src/ExitStrategy.sln')
.pipe(msbuild({
toolsVersion: 14.0,
targets: ['Clean', 'Build'],
errorOnFail: true,
stdout: true
}));
});
gulp.task('test', ['create-folders', 'build'], function (cb) {
var finder = require('findit')('./src/packages/');
var fixieName = 'Fixie.Console.exe';
finder.on('file', function (file, stat) {
if(file.indexOf(fixieName, file.length - fixieName.length) !== -1){
finder.stop();
var command = file + ' --NUnitXml artifacts/TestResult.xml src/ForWebforms.Tests/bin/ExitStrategy.ForWebforms.Tests.dll';
exec(command, function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
cb(err);
});
}
});
});
gulp.task('nuget-pack', ['create-folders', 'test'], function(){
return nuget.pack({
spec: './src/ForWebforms/ForWebforms.csproj',
outputDirectory: './artifacts/'
});
});