mirror of https://github.com/winsw/winsw
Update projectStructure.md
parent
24b2d0e933
commit
6ef42a988e
|
@ -0,0 +1,46 @@
|
||||||
|
# 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 following command line arguments.
|
||||||
|
```install, uninstall, start, stop, stopwait, restart, restart!, status, test, testwait, help, version```
|
||||||
|
|
||||||
|
## :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.
|
|
@ -1,97 +0,0 @@
|
||||||
# Project Structure
|
|
||||||
|
|
||||||
:movie_camera: [You can find code dive session recorded video here](https://youtu.be/_adhRj19ESY)
|
|
||||||
|
|
||||||
```
|
|
||||||
|_ doc
|
|
||||||
|_ eng
|
|
||||||
|_ examples
|
|
||||||
|_ src
|
|
||||||
|_ Core
|
|
||||||
| |_ ServiceWrapper
|
|
||||||
| |_ WinSWCore
|
|
||||||
|_ Plugins
|
|
||||||
|_ Test/winswTest
|
|
||||||
```
|
|
||||||
|
|
||||||
## :open_file_folder: doc
|
|
||||||
|
|
||||||
This directory contains all the documents related to the WinSW project.
|
|
||||||
|
|
||||||
## :open_file_folder: eng
|
|
||||||
|
|
||||||
### :page_facing_up: build.yaml
|
|
||||||
|
|
||||||
This contains Build configurations. We have another release pipeline that is not yet added to this repository and will be added in later.
|
|
||||||
|
|
||||||
## :open_file_folder: examples
|
|
||||||
|
|
||||||
This folder contains templates for configuration files. Currently, there are XML configuration templates. YAML templates will be added in later.
|
|
||||||
|
|
||||||
### :page_facing_up: sample-minimal.xml
|
|
||||||
|
|
||||||
This contains a template for mandatory configurations.
|
|
||||||
|
|
||||||
### :page_facing_up: sample-allOptions.xml
|
|
||||||
|
|
||||||
This template contains all possible configurations with documentation.
|
|
||||||
|
|
||||||
## :open_file_folder: src
|
|
||||||
|
|
||||||
This contains the implementation of the WinSW.
|
|
||||||
|
|
||||||
## :open_file_folder: Core
|
|
||||||
|
|
||||||
## :notebook: ServiceWrapper
|
|
||||||
|
|
||||||
This is the main executable project.
|
|
||||||
```
|
|
||||||
|_ ServiceWrapper
|
|
||||||
|_ Logging
|
|
||||||
| |_ WrapperServiceEventLogProvider.cs
|
|
||||||
|_ Properties
|
|
||||||
| |_ AssemblyInfo.cs
|
|
||||||
|_ Main.cs
|
|
||||||
|_ NullableAttributes.cs
|
|
||||||
|_ winsw.csproj
|
|
||||||
```
|
|
||||||
|
|
||||||
#### :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 such as `install`, `uninstall`, `start`, `stop`, `restart`.
|
|
||||||
|
|
||||||
## :notebook: WinSWCore
|
|
||||||
|
|
||||||
```
|
|
||||||
|_ WinSWCore
|
|
||||||
|_ Configuration
|
|
||||||
|_ Extensions
|
|
||||||
|_ Logging
|
|
||||||
|_ Native
|
|
||||||
|_ Util
|
|
||||||
|_ Download.cs
|
|
||||||
|_ DynamicProxy.cs
|
|
||||||
|_ LogAppenders.cs
|
|
||||||
|_ NullableAttributes.cs
|
|
||||||
|_ PeriodicRollingCalendar.cs
|
|
||||||
|_ ServiceDescriptor.cs
|
|
||||||
|_ WinSWCore.csproj
|
|
||||||
|_ WinSWException.cs
|
|
||||||
|_ WinSWSystem.cs
|
|
||||||
|_ Wmi.cs
|
|
||||||
|_ WmiSchema.cs
|
|
||||||
```
|
|
||||||
|
|
||||||
#### :page_facing_up: ServiceDescriptor.cs
|
|
||||||
|
|
||||||
This contains the logics for extracting configurations from the XML file. `ServiceDescriptor` class get XML file as an argument. Currently, configurations are provided on demand.
|
|
||||||
|
|
||||||
## :open_file_folder: Configuration
|
|
||||||
|
|
||||||
#### :page_facing_up: IWinSWConfiguration.cs
|
|
||||||
|
|
||||||
`IWinSWConfigurations` interface contains all configurations.
|
|
||||||
|
|
||||||
#### :page_facing_up: DefaultSettings.cs
|
|
||||||
|
|
||||||
This contains default values for all configurations which included in `IWinSWConfiguration.cs`.
|
|
Loading…
Reference in New Issue