diff options
Diffstat (limited to 'gulpfile.js')
-rw-r--r-- | gulpfile.js | 110 |
1 files changed, 58 insertions, 52 deletions
diff --git a/gulpfile.js b/gulpfile.js index b2400b0..a4dfeac 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,52 +1,58 @@ -var p = require('./package.json'), - gulp = require('gulp'), - assemblyInfo = require('gulp-dotnet-assembly-info'), - xmlpoke = require('gulp-xmlpoke'), - msbuild = require('gulp-msbuild'), - nuget = require('nuget-runner')({ - apiKey: process.env.NUGET_API_KEY, - nugetPath: '.nuget/nuget.exe' - }); - -gulp.task('default', ['nuget']); - -gulp.task('restore', [], function () { - return nuget - .restore({ - packages: 'Otp.NET.sln', - verbosity: 'normal' - }); -}); - -gulp.task('build', ['restore'], function () { - return gulp - .src('Otp.NET.sln') - .pipe(msbuild({ - toolsVersion: 14.0, - targets: ['Clean', 'Build'], - errorOnFail: true, - configuration: 'Release' - })); -}); - -gulp.task('nuspec', ['build'], function () { - return gulp - .src('Otp.NET.nuspec') - .pipe(xmlpoke({ - replacements: [{ - xpath: "//package:version", - namespaces: { "package": "http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" }, - value: p.version - }] - })) - .pipe(gulp.dest('.')); -}); - -gulp.task('nuget', ['nuspec'], function () { - return nuget - .pack({ - spec: 'Otp.NET.nuspec', - outputDirectory: 'src/Otp.NET/bin/Release', - version: p.version - }); -}); +var p = require('./package.json'); +var gulp = require('gulp'); +var path = require('path'); +var del = require('del'); +var version = p.version; +var configuration = process.env.BUILD_CONFIGURATION || 'Release'; +var {restore, build, test, pack, push} = require('gulp-dotnet-cli'); + +gulp.task('default', ['nuget', 'test']); + +gulp.task('clean', [], ()=>del(['output', 'src/**/bin', 'src/**/obj'])) + +gulp.task('restore', ['clean'], ()=>{ + + return gulp.src('**/*.sln') + .pipe(restore()); + +}, {read:false}); + +gulp.task('build', ['restore'], ()=>{ + + return gulp.src('**/*.sln') + .pipe(build({ + configuration: configuration, + version: version + })); + +}, {read:false}); + +gulp.task('test', ['build'], ()=>{ + + return gulp.src('**/*UnitTests.csproj') + .pipe(test({ + configuration: configuration, + noBuild: true + })); + +}, {read:false}); + +gulp.task('nuget', ['build'], ()=>{ + + return gulp.src('src/Otp.NET/Otp.NET.csproj') + .pipe(pack({ + version: p.version, + configuration: configuration, + output: path.resolve(__dirname, 'output') + })); + +}, {read:false}); + +gulp.task('push', ['nuget'], ()=>{ + + return gulp.src('output/**/*.nupkg') + .pipe(push({ + apiKey: process.env.NUGET_API_KEY + })); + +}, {read:false});
\ No newline at end of file |