From aa062025d5742cef09d9b14109632875890298c4 Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Sun, 17 May 2020 01:43:18 +0530 Subject: [PATCH 1/7] projectStructure.md template added Code dive session video link added --- doc/projectStructure.md | 98 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 doc/projectStructure.md diff --git a/doc/projectStructure.md b/doc/projectStructure.md new file mode 100644 index 0000000..20b6492 --- /dev/null +++ b/doc/projectStructure.md @@ -0,0 +1,98 @@ +# Project Structure + +:movie_camera: [You can find code dive session recorede 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 WinSW project. + +## :open_file_folder: eng + +### :page_facing_up: build.yaml + +This contains Build configurations. We have another relase pipeline which 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 mandotory configurations. + +### :page_facing_up: sample-allOptions.xml + +This template contains all possible configurations with documentation. + +## :open_file_folder: src + +This contains the implementation for 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. +ex : ```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 XML file. ```ServiceDescriptor``` class get XML file as a argument. Currently configuratinos 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```. \ No newline at end of file From 39e40359125d106b8aea74bf5c0aa3547676589b Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Sun, 17 May 2020 10:25:55 +0530 Subject: [PATCH 2/7] Fixed typos --- doc/projectStructure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/projectStructure.md b/doc/projectStructure.md index 20b6492..94519ce 100644 --- a/doc/projectStructure.md +++ b/doc/projectStructure.md @@ -1,6 +1,6 @@ # Project Structure -:movie_camera: [You can find code dive session recorede video here](https://youtu.be/_adhRj19ESY) +:movie_camera: [You can find code dive session recorded video here](https://youtu.be/_adhRj19ESY) ``` |_ doc @@ -95,4 +95,4 @@ This contains the logics for extracting configurations from XML file. ```Service #### :page_facing_up: DefaultSettings.cs -This contains default values for all configurations which included in ```IWinSWConfiguration.cs```. \ No newline at end of file +This contains default values for all configurations which included in ```IWinSWConfiguration.cs```. From e97486cfc47b28551e09e946d45ffe9426891aa5 Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Mon, 18 May 2020 05:34:57 +0530 Subject: [PATCH 3/7] Fix typos and grammar --- doc/projectStructure.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/projectStructure.md b/doc/projectStructure.md index 94519ce..b90a3e6 100644 --- a/doc/projectStructure.md +++ b/doc/projectStructure.md @@ -16,21 +16,21 @@ ## :open_file_folder: doc -This directory contains all the documents related to WinSW project. +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 relase pipeline which is not yet added to this repository and will be added in later. +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. +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 mandotory configurations. +This contains a template for mandatory configurations. ### :page_facing_up: sample-allOptions.xml @@ -38,7 +38,7 @@ This template contains all possible configurations with documentation. ## :open_file_folder: src -This contains the implementation for the WinSW. +This contains the implementation of the WinSW. ## :open_file_folder: Core @@ -58,7 +58,7 @@ This is the main executable project. #### :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. +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. ex : ```install, uninstall, start, stop, restart``` ## :notebook: WinSWCore @@ -85,7 +85,7 @@ ex : ```install, uninstall, start, stop, restart``` #### :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. +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 From 24b2d0e933d121b8771f5b05cb2de8bd0171f43b Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Mon, 18 May 2020 19:30:59 +0530 Subject: [PATCH 4/7] Fix typos --- doc/projectStructure.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/doc/projectStructure.md b/doc/projectStructure.md index b90a3e6..9b7c639 100644 --- a/doc/projectStructure.md +++ b/doc/projectStructure.md @@ -58,8 +58,7 @@ This is the main executable project. #### :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. -ex : ```install, uninstall, start, stop, restart``` +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 @@ -85,14 +84,14 @@ ex : ```install, uninstall, start, stop, restart``` #### :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. +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. +`IWinSWConfigurations` interface contains all configurations. #### :page_facing_up: DefaultSettings.cs -This contains default values for all configurations which included in ```IWinSWConfiguration.cs```. +This contains default values for all configurations which included in `IWinSWConfiguration.cs`. From 6ef42a988e5ea22d1629d4662a384071cbbfd256 Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Sat, 23 May 2020 16:10:29 +0530 Subject: [PATCH 5/7] Update projectStructure.md --- doc/developer/projectStructure.md | 46 +++++++++++++++ doc/projectStructure.md | 97 ------------------------------- 2 files changed, 46 insertions(+), 97 deletions(-) create mode 100644 doc/developer/projectStructure.md delete mode 100644 doc/projectStructure.md diff --git a/doc/developer/projectStructure.md b/doc/developer/projectStructure.md new file mode 100644 index 0000000..ac8670d --- /dev/null +++ b/doc/developer/projectStructure.md @@ -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. diff --git a/doc/projectStructure.md b/doc/projectStructure.md deleted file mode 100644 index 9b7c639..0000000 --- a/doc/projectStructure.md +++ /dev/null @@ -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`. From 395b4679a4b6b609e0c854d4a656d84f1c2d188b Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Tue, 26 May 2020 17:09:44 +0530 Subject: [PATCH 6/7] projectStructure.md updated --- doc/developer/projectStructure.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/developer/projectStructure.md b/doc/developer/projectStructure.md index ac8670d..d7d538d 100644 --- a/doc/developer/projectStructure.md +++ b/doc/developer/projectStructure.md @@ -30,8 +30,7 @@ This is the main executable project. This contains the main.cs which is the entr ### :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``` +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 @@ -39,8 +38,8 @@ WinSW library is the main component of the project. This contains the most impor ### :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. +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. +This contains the interface for the configurations. `IWinSWConfiguration.cs` interface contains all configurations and `DefaultSettings.cs` contains default values for the configurations. From 486ed716bc532c1d3151679b7522ffa29aa6d0d7 Mon Sep 17 00:00:00 2001 From: Buddhika Chathuranga Date: Thu, 28 May 2020 08:18:09 +0530 Subject: [PATCH 7/7] Update Contributing.md ProjectStructure.md link added to the Contributing.md --- CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ddc8ccd..720cc50 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,3 +26,7 @@ dotnet build src\winsw.sln ``` dotnet test src\Test\winswTests\winswTests.csproj ``` + +## Project Structure + +You can find project structure guideline [here.](doc/developer/projectStructure.md)