51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
var gulp = require("gulp");
|
|
var nuget = require('gulp-nuget');
|
|
var msbuild = require('gulp-msbuild');
|
|
var download = require("gulp-download");
|
|
var del = require('del');
|
|
var assemblyInfo = require('gulp-dotnet-assembly-info');
|
|
var version = '1.0.2';
|
|
|
|
gulp.task('clean', ()=>{
|
|
return del(['src/**/obj/', 'src/**/bin/Release', 'nuget.exe', 'nupkgs', 'packages'])
|
|
});
|
|
gulp.task('downloadNuget', ['clean'], ()=>{
|
|
return download('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe')
|
|
.pipe(gulp.dest('.'))
|
|
});
|
|
|
|
gulp.task('restore', ['downloadNuget'], ()=>{
|
|
return gulp.src('./CompressR.sln')
|
|
.pipe(nuget.restore({ nuget: "nuget.exe" }))
|
|
});
|
|
gulp.task('patchAssemblyInfo', ()=>{
|
|
return gulp.src('**/AssemblyInfo.cs')
|
|
.pipe(assemblyInfo({
|
|
version: function(value) { return version; },
|
|
fileVersion: function(value) { return version; },
|
|
}))
|
|
.pipe(gulp.dest('.'))
|
|
});
|
|
gulp.task('build', ['restore', 'patchAssemblyInfo'], ()=>{
|
|
return gulp.src('./CompressR.sln')
|
|
.pipe(msbuild({
|
|
stdout: true,
|
|
toolsVersion: 14,
|
|
configuration: 'Release'
|
|
}));
|
|
});
|
|
|
|
gulp.task('pack', ['build'], ()=>{
|
|
return gulp.src(['src/CompressR.MVC4/*.csproj', 'src/CompressR.MVC5/*.csproj', 'src/CompressR.WebApi/*.csproj'])
|
|
.pipe(nuget.pack({
|
|
build: false,
|
|
symbols: true,
|
|
properties: 'configuration=Release',
|
|
outputDirectory: './nupkgs'
|
|
}));
|
|
});
|
|
|
|
gulp.task('publish', ['pack'], ()=>{
|
|
return gulp.src('./nupkgs/*.nupkg')
|
|
.pipe(nuget.push({ nuget: "nuget.exe", source: 'https://www.nuget.org/api/v2/package', apiKey: process.env.nugetApiKey}));
|
|
}); |