mirror of https://github.com/winsw/winsw
Merge pull request #534 from buddhikac96/GSoC---Project-Structure
Contributor guidelines: Document the project structurepull/535/head
commit
66167d5251
|
@ -26,3 +26,7 @@ dotnet build src\winsw.sln
|
||||||
```
|
```
|
||||||
dotnet test src\Test\winswTests\winswTests.csproj
|
dotnet test src\Test\winswTests\winswTests.csproj
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
You can find project structure guideline [here.](doc/developer/projectStructure.md)
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
# Project Structure
|
||||||
|
|
||||||
|
:movie_camera: [You can find code dive session recorede video here](https://youtu.be/_adhRj19ESY)
|
||||||
|
|
||||||
|
```
|
||||||
|
|_ doc
|
||||||
|
|_ eng
|
||||||
|
|_ examples
|
||||||
|
|_ src
|
||||||
|
|_ Core
|
||||||
|
| |_ ServiceWrapper
|
||||||
|
| |_ Main.cs
|
||||||
|
| |_ WinSWCore
|
||||||
|
| |_ ServiceDescriptor.cs
|
||||||
|
| |_ Configurations
|
||||||
|
| |_ Extensions
|
||||||
|
|_ Plugins
|
||||||
|
|_ Test/winswTest
|
||||||
|
```
|
||||||
|
|
||||||
|
## :open_file_folder: examples
|
||||||
|
|
||||||
|
This folder contains templates for configuration files. `sample-minimal.xml` contains a template for mandotory configurations and `sample-allOptions.xml` contains all possible configurations with documentation.
|
||||||
|
|
||||||
|
## :open_file_folder: Core
|
||||||
|
|
||||||
|
## :notebook: ServiceWrapper
|
||||||
|
|
||||||
|
This is the main executable project. This contains the main.cs which is the entry point of the projet and contains some features for logging.
|
||||||
|
|
||||||
|
### :page_facing_up: Main.cs
|
||||||
|
|
||||||
|
This file contains the entry point of the program (Main method). This file includes the main flow of the program and has implemented the logics for command line arguments. You can find more details about command line arguments [here.](https://github.com/winsw/winsw#usage)
|
||||||
|
|
||||||
|
## :notebook: WinSWCore
|
||||||
|
|
||||||
|
WinSW library is the main component of the project. This contains the most important logics of the project such as ServiceDescriptor.cs, Extension api and configurations etc.
|
||||||
|
|
||||||
|
### :page_facing_up: ServiceDescriptor.cs
|
||||||
|
|
||||||
|
This contains the logics for extracting configurations from XML file. `ServiceDescriptor` class get XML file as a argument. Currently configuratinos are provided on demand.
|
||||||
|
|
||||||
|
## :open_file_folder: Configuration
|
||||||
|
|
||||||
|
This contains the interface for the configurations. `IWinSWConfiguration.cs` interface contains all configurations and `DefaultSettings.cs` contains default values for the configurations.
|
Loading…
Reference in New Issue