summaryrefslogtreecommitdiffstats
path: root/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'gulpfile.js')
-rw-r--r--gulpfile.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/gulpfile.js b/gulpfile.js
new file mode 100644
index 0000000..b2400b0
--- /dev/null
+++ b/gulpfile.js
@@ -0,0 +1,52 @@
+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
+ });
+});