Merge pull request #459 from NextTurn/contrib

Initialize contributing guidelines
pull/468/head
Oleg Nenashev 2020-03-31 11:12:50 +02:00 committed by GitHub
commit 7554777d8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 9 deletions

28
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,28 @@
# Contributing
## Prerequisites
You need to install either of the followings to develop .NET.
- [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/) with *.NET desktop development* workload, which includes .NET SDK.
- .NET SDK and your favorite code editor.
- You can find .NET SDK installation instructions on the [Download .NET](https://dotnet.microsoft.com/download) page.
- You can try [Visual Studio Code](https://code.visualstudio.com/Download), which is an open source and cross-platform editor.
## Developing in Visual Studio
You can open `src\winsw.sln` and then build and run tests from within Visual Studio.
## Developing with .NET SDK
### Building
```
dotnet build src\winsw.sln
```
### Testing
```
dotnet test src\Test\winswTests\winswTests.csproj
```

View File

@ -3,19 +3,10 @@ WinSW Developer Information
### Build Environment
* IDE: [Visual Studio Community 2019](https://visualstudio.microsoft.com/vs/) (free for open-source projects)
* *winsw_key.snk* should be available in the project's root in order to build the executable
* You can generate the certificate by running *generate-key.ps1*
* The certificate is in *.gitignore* list. Please do not add it to the repository
### Testing
WinSW includes a set of tests powered by the [NUnit](https://www.nunit.org/) test framework.
In order to run tests you can install [NUnit Console](https://github.com/nunit/nunit-console) on the build machine.
Once you build the solution, you will be able to find the test DLL with dependencies in the `src/Test/winswTests/bin` directory.
In NUnit Console you can just import projects from this directory and then run tests.
### Continuous Integration
Project has a continuous integration flow being hosted by AppVeyor ([project page](https://ci.appveyor.com/project/winsw/winsw)).