From c55d33b0467db135ff5c40cc9a10d3ac4b2abf61 Mon Sep 17 00:00:00 2001 From: Oleg Nenashev Date: Sun, 11 Dec 2016 20:11:16 +0100 Subject: [PATCH] Issue #65 - Add NuGet packaging (#161) * NuGet: Add simple NuGet packaging PoC * Fix the version definition * Run PS instead of CMD * Fix the .NET4 binary reference in the spec * Publish the NuGet package directly to the root * Covert ID to uppercase just to follow the common notation * Use a fixed artifact name to enable the deployment * NuGet does not support multi-line paragraphs * Add the NuGet badge --- README.md | 1 + WinSW.nuspec | 31 +++++++++++++++++++++++++++++++ appveyor.yml | 5 +++++ 3 files changed, 37 insertions(+) create mode 100644 WinSW.nuspec diff --git a/README.md b/README.md index e7935a0..8ca77ce 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ winsw: Windows service wrapper in less restrictive license ========================= [![Build status](https://ci.appveyor.com/api/projects/status/i94752yal9iy77in?svg=true)](https://ci.appveyor.com/project/oleg-nenashev/winsw) +[![NuGet](https://img.shields.io/nuget/v/WinSW.svg)](https://www.nuget.org/packages/WinSW/) WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service. Once you download the installation package, you can rename `winsw.exe` to any name, e.g. `myService.exe`. diff --git a/WinSW.nuspec b/WinSW.nuspec new file mode 100644 index 0000000..f3968be --- /dev/null +++ b/WinSW.nuspec @@ -0,0 +1,31 @@ + + + + WinSW + $version$ + Windows Service Wrapper + WinSW is a binary, which can be used to wrap and manage custom executables as Windows services. + +Windows Service Wrapper (WinSW) is a binary, which can be used to wrap and manage custom executables as Windows services. The project has a MIT License, hence it can be used just as a binary even in commercial systems. Currently the distributable includes binaries targeting .NET Frameworks 2.0 and 4.0. + +WinSW provides a CL for installation and management of Windows services. It also offers many advanced options, which can be configured via additional XML file. Several examples: logging of spawned executables with log rotation, automated update of files from URL, runaway process termination, shared directory mapping on startup, etc. + +More info about the wrapper is available in the projects GitHub repository. + + WinSW contributors + Oleg Nenashev, Kohsuke Kawaguchi + https://github.com/kohsuke/winsw/blob/master/LICENSE.txt + https://github.com/kohsuke/winsw + + Copyright (c) 2010-2016 Kohsuke Kawaguchi, Sun Microsystems, Inc., CloudBees, Inc., Oleg Nenashev and other contributors + false + service wrapper + + + + + + + + + diff --git a/appveyor.yml b/appveyor.yml index d42426b..6aac7ff 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -31,6 +31,9 @@ build: parallel: true project: src\winsw.sln +after_build: + - ps: nuget pack WinSW.nuspec -Version $env:APPVEYOR_BUILD_VERSION + test_script: # Runner for NUnit2 - ps: nunit-console 'src/Test/winswTests/bin/Release/winswTests.dll' 'src/Test/winswTests/bin/Release/SharedDirectoryMapper.dll' 'src/Test/winswTests/bin/Release/RunawayProcessKiller.dll' @@ -40,6 +43,8 @@ artifacts: name: WinSW.NET2.exe - path: 'src/Core/ServiceWrapper_dotNET4/bin/Release/WinSW.NET4.exe' name: WinSW.NET4.exe + - path: 'WinSW.$(appveyor_build_version).nupkg' + name: WinSW.nupkg