summaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js110
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