You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fork this repo when creating a new plugin for Essentials. For more information about plugins, refer to the Essentials Wiki [Plugins](https://github.com/PepperDash/Essentials/wiki/Plugins) article.
11
+
Fork this repo when creating a new plugin for Essentials. For more information about plugins, refer to the Essentials Wiki [Plugins](https://pepperdash.github.io/Essentials/docs/Plugins.html) article.
12
12
13
13
This repo contains example classes for the three main categories of devices:
14
-
*`EssentialsPluginTemplateDevice`: Used for most third party devices which require communication over a streaming mechanism such as a Com port, TCP/SSh/UDP socket, CEC, etc
15
-
*`EssentialsPluginTemplateLogicDevice`: Used for devices that contain logic, but don't require any communication with third parties outside the program
16
-
*`EssentialsPluginTemplateCrestronDevice`: Used for devices that represent a piece of Crestron hardware
14
+
*`MakeModelDevice`: Used for most third party devices which require communication over a streaming mechanism such as a Com port, TCP/SSh/UDP socket, CEC, etc
15
+
*`MakeModelLogicDevice`: Used for devices that contain logic, but don't require any communication with third parties outside the program
16
+
*`MakeModelCrestronDevice`: Used for devices that represent a piece of Crestron hardware
17
17
18
-
There are matching factory classes for each of the three categories of devices. The `EssentialsPluginTemplateConfigObject` should be used as a template and modified for any of the categories of device. Same goes for the `EssentialsPluginTemplateBridgeJoinMap`.
18
+
There are matching factory classes for each of the three categories of devices. The `MakeModelConfigObject` should be used as a template and modified for any of the categories of device. Same goes for the `MakeModeleBridgeJoinMap`.
19
19
20
20
This also illustrates how a plugin can contain multiple devices.
21
21
@@ -29,14 +29,7 @@ The [Essentials](https://github.com/PepperDash/Essentials) libraries are require
29
29
30
30
### Installing Dependencies
31
31
32
-
To install dependencies once nuget.exe is installed, run the following command from the root directory of your repository:
Alternatively, you can simply run the `GetPackages.bat` file.
35
-
To verify that the packages installed correctly, open the plugin solution in your repo and make sure that all references are found, then try and build it.
36
-
37
-
### Installing Different versions of PepperDash Core
38
-
39
-
If you need a different version of PepperDash Core, use the command `nuget install .\packages.config -OutputDirectory .\packages -excludeVersion -Version {versionToGet}`. Omitting the `-Version` option will pull the version indicated in the packages.config file.
32
+
Dependencies will be automatically installed when
40
33
41
34
### Instructions for Renaming Solution and Files
42
35
@@ -46,15 +39,10 @@ For renaming instructions in particular, see the XML `remarks` tags on class def
46
39
47
40
## Build Instructions (PepperDash Internal)
48
41
49
-
## Generating Nuget Package
50
-
51
-
In the solution folder is a file named "PDT.EssentialsPluginTemplate.nuspec"
52
-
53
-
1. Rename the file to match your plugin solution name
54
-
2. Edit the file to include your project specifics including
55
-
1. <id>PepperDash.Essentials.Plugin.MakeModel</id> Convention is to use the prefix "PepperDash.Essentials.Plugin" and include the MakeModel of the device.
56
-
2. <projectUrl>https://github.com/PepperDash/EssentialsPluginTemplate</projectUrl> Change to your url to the project repo
42
+
## Generating Nuget Package
57
43
58
-
There is no longer a requirement to adjust workflow files for nuget generation for private and public repositories. This is now handled automatically in the workflow.
44
+
A nuget package is automatically generated when the plugin is build. To modify the name and other details of the package, edit the following properties in the .csproj file:
59
45
60
-
__If you do not make these changes to the nuspec file, the project will not generate a nuget package__
46
+
1.`PackageId` - This is the name that will be used to pull the package from Nuget once it's published
47
+
2.`PackgeProjectUrl` - This should match the URL for the plugin repo
48
+
3.`AssemblyTitle` - This is the dll file name that is will show on a processor when the plugin is loaded
0 commit comments