Skip to content

Commit 04cb086

Browse files
authoredAug 29, 2023
Merge pull request #2 from SkylineCommunications/dev/dotnettool
dotnet tool templates
2 parents 2f57673 + 10ccb03 commit 04cb086

22 files changed

+771
-1
lines changed
 

‎working/templatepack.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<PackageType>template</PackageType>
5-
<PackageVersion>1.0.4</PackageVersion>
5+
<PackageVersion>1.0.5-Beta1</PackageVersion>
66
<PackageId>Skyline.DataMiner.VisualStudioTemplates.Internal</PackageId>
77
<Title>DataMiner DotNet Templates</Title>
88
<Authors>SkylineCommunications</Authors>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<OutputType>Exe</OutputType>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<PackAsTool>true</PackAsTool>
6+
<ToolCommandName>$ToolCommandName$</ToolCommandName>
7+
<ImplicitUsings>disable</ImplicitUsings>
8+
<Nullable>disable</Nullable>
9+
<AssemblyName>$PackageId$</AssemblyName>
10+
<PackageVersion>1.0.1</PackageVersion>
11+
<Version>1.0.1</Version>
12+
<PackageTags>Skyline;DataMiner</PackageTags>
13+
<PackageProjectUrl>https://skyline.be</PackageProjectUrl>
14+
<PackageReadmeFile>README.md</PackageReadmeFile>
15+
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
16+
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
17+
<PackageIcon>Icon.png</PackageIcon>
18+
<GenerateDocumentationFile>True</GenerateDocumentationFile>
19+
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
20+
<Authors>SkylineCommunications</Authors>
21+
<Company>Skyline Communications</Company>
22+
<Description>$PackageDescription$</Description>
23+
<RepositoryType Condition="$(hasGitRepoUrl)">git</RepositoryType>
24+
<RepositoryUrl Condition="$(hasGitRepoUrl)">$GitRepoUrl$</RepositoryUrl>
25+
</PropertyGroup>
26+
27+
<ItemGroup>
28+
<None Include="README.md" Pack="true" PackagePath="" />
29+
<None Include="LICENSE.txt" Pack="true" PackagePath="" />
30+
<None Include="nuget\Icon.png" Pack="true" PackagePath="" />
31+
</ItemGroup>
32+
<ItemGroup>
33+
<PackageReference Include="Skyline.DataMiner.CICD.FileSystem" Version="1.0.0.2" />
34+
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
35+
</ItemGroup>
36+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"$schema": "http://json.schemastore.org/dotnetcli.host",
3+
"symbolInfo": {
4+
"PackageId": {
5+
"longName": "package-id",
6+
"shortName": "id"
7+
},
8+
"ToolCommandName": {
9+
"longName": "tool-command",
10+
"shortName": "command"
11+
},
12+
"Description": {
13+
"longName": "description",
14+
"shortName": "desc"
15+
},
16+
"LisenceType": {
17+
"longName": "license-type",
18+
"shortName": "lic"
19+
},
20+
"GitRepoUrl": {
21+
"longName": "repo-url",
22+
"shortName": "url"
23+
}
24+
}
25+
}
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"$schema": "http://json.schemastore.org/vs-2017.3.host",
3+
"order": 0,
4+
"icon": "icon.png",
5+
"symbolInfo": [
6+
{
7+
"id": "PackageId",
8+
"name":
9+
{
10+
"text": "NuGet package ID"
11+
},
12+
"isVisible": true
13+
},
14+
{
15+
"id": "ToolCommandName",
16+
"name":
17+
{
18+
"text": "Tool Command"
19+
},
20+
"isVisible": true
21+
},
22+
{
23+
"id": "Description",
24+
"name":
25+
{
26+
"text": "Package Description"
27+
},
28+
"isVisible": true
29+
},
30+
{
31+
"id": "LicenseType",
32+
"name":
33+
{
34+
"text": "License"
35+
},
36+
"isVisible": true
37+
},
38+
{
39+
"id": "GitRepoUrl",
40+
"name":
41+
{
42+
"text": "Repository URL"
43+
},
44+
"isVisible": true
45+
}
46+
]
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
{
2+
"$schema": "http://json.schemastore.org/template",
3+
"author": "Skyline Communications",
4+
"classifications": [ "DataMiner" ],
5+
"tags": {
6+
"language": "C#",
7+
"type": "project"
8+
},
9+
"identity": "Skyline.DataMiner.DotNetToolProject",
10+
"name": "DataMiner DotNet Tool Project",
11+
"defaultName": "DotNetToolProject1",
12+
"shortName": "dataminer-dotnettool-project",
13+
"sourceName": "DataMinerDotNetToolProjectTemplate",
14+
"symbols": {
15+
"PackageId": {
16+
"type": "parameter",
17+
"datatype": "string",
18+
"defaultValue": "Skyline.DataMiner.Utils.Tools.NAME",
19+
"replaces": "$PackageId$",
20+
"description": "The ID of the tool. Must start with \"Skyline.DataMiner.\"",
21+
"isRequired": true
22+
},
23+
"ToolCommandName": {
24+
"type": "parameter",
25+
"datatype": "string",
26+
"defaultValue": "MyShortCommand",
27+
"replaces": "$ToolCommandName$",
28+
"description": "The command eventually used to run the code.",
29+
"isRequired": true
30+
},
31+
"ProjectName": {
32+
"type": "generated",
33+
"generator": "regex",
34+
"dataType": "string",
35+
"replaces": "$ProjectName$",
36+
"FileRename": "$ProjectName$",
37+
"parameters": {
38+
"source": "PackageId",
39+
"steps": [
40+
{
41+
"regex": "^Skyline\\.DataMiner\\.",
42+
"replacement": ""
43+
},
44+
{
45+
"regex": "test$",
46+
"replacement": "[/Replaced]"
47+
}
48+
]
49+
}
50+
},
51+
"Description": {
52+
"type": "parameter",
53+
"datatype": "string",
54+
"defaultValue": "",
55+
"replaces": "$PackageDescription$",
56+
"description": "A short description about this NuGet package.",
57+
"isRequired": true
58+
},
59+
"LicenseType": {
60+
"type": "parameter",
61+
"datatype": "choice",
62+
"defaultValue": "Skyline",
63+
"description": "The type of license applicable for this package.",
64+
"isRequired": true,
65+
"choices": [
66+
{
67+
"choice": "Skyline",
68+
"description": "Skyline license"
69+
},
70+
{
71+
"choice": "MIT",
72+
"description": "MIT license"
73+
}
74+
]
75+
},
76+
"GitRepoUrl": {
77+
"type": "parameter",
78+
"datatype": "string",
79+
"defaultValue": "",
80+
"replaces": "$GitRepoUrl$",
81+
"description": "The URL of the Git repository. Leave empty if not hosted."
82+
},
83+
"isSkylineLicense": {
84+
"type": "computed",
85+
"value": "LicenseType == \"Skyline\""
86+
},
87+
"isMitLicense": {
88+
"type": "computed",
89+
"value": "LicenseType == \"MIT\""
90+
},
91+
"hasGitRepoUrl": {
92+
"type": "computed",
93+
"value": "GitRepoUrl != \"\""
94+
},
95+
"CopyrightYear": {
96+
"type": "generated",
97+
"generator": "now",
98+
"replaces": "$COPYRIGHTYEAR$",
99+
"parameters": {
100+
"format": "yyyy"
101+
}
102+
}
103+
},
104+
"sources": [
105+
{
106+
"modifiers": [
107+
{
108+
"exclude": [ "./[Content_Types].xml", "src/.vs/**", ".template_config/**", "[Content_Types].xml", "_rels/**", "*.nuspec", "*.nupkg", "package/**" ]
109+
}
110+
]
111+
}
112+
]
113+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//#if (isSkylineLicense)
2+
SKYLINE LIBRARY LICENSE
3+
4+
1. Applicability
5+
The software in this repository (hereafter the “Software”) is owned by Skyline Communications (hereafter “Skyline”). The terms of this license govern your use of the Software. If you do not agree with the terms of this license, you may not use or exploit the Software in any other manner.
6+
2. Grant of rights
7+
You may use the Software for the development, testing and validation of DataMiner packages and components only.
8+
You may not use this Software in any other manner unless you have obtained Skyline’s prior written authorization to do so.
9+
It is forbidden to create derivative works of the Software.
10+
3. Intellectual property
11+
Skyline owns the intellectual property rights vested in the Software. Skyline granting you access to the Software does not entail permission to utilize or otherwise manipulate the Software in contravention to this Library License. Skyline reserves the right to pursue legal action against you in case of breach of its intellectual property rights.
12+
4. No warranty
13+
Skyline provides the Software ‘as is’, without any warranty of any kind.
14+
5. Limitation of liability
15+
Within the maximum possible extent under the applicable laws, Skyline disclaims all liability for the Software.
16+
6. Applicable laws and jurisdiction
17+
This license shall be governed by the laws of Belgium. Any dispute shall be submitted to the exclusive jurisdiction of the competent courts of Gent, division Kortrijk, Belgium
18+
//#endif
19+
//#if (isMitLicense)
20+
MIT License
21+
22+
Copyright (c) $COPYRIGHTYEAR$ Skyline Communications
23+
24+
Permission is hereby granted, free of charge, to any person obtaining a copy
25+
of this software and associated documentation files (the "Software"), to deal
26+
in the Software without restriction, including without limitation the rights
27+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28+
copies of the Software, and to permit persons to whom the Software is
29+
furnished to do so, subject to the following conditions:
30+
31+
The above copyright notice and this permission notice shall be included in all
32+
copies or substantial portions of the Software.
33+
34+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
40+
SOFTWARE.
41+
//#endif
42+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
namespace $PackageId$
2+
{
3+
using System.CommandLine;
4+
using System.Threading.Tasks;
5+
6+
/// <summary>
7+
/// Checks what projects are Legacy style or SDK Style.
8+
/// </summary>
9+
public static class Program
10+
{
11+
/// <summary>
12+
/// $PackageDescription$.
13+
/// </summary>
14+
/// <param name="args">Extra arguments.</param>
15+
/// <returns>0 if successful.</returns>
16+
public static async Task<int> Main(string[] args)
17+
{
18+
var exampleArgument = new Option<string>(
19+
name: "--exampleArgument",
20+
description: "Just an example argument.")
21+
{
22+
IsRequired = true
23+
};
24+
25+
var rootCommand = new RootCommand("$PackageDescription$")
26+
{
27+
exampleArgument,
28+
};
29+
30+
rootCommand.SetHandler(Process, exampleArgument);
31+
32+
await rootCommand.InvokeAsync(args);
33+
34+
return 0;
35+
}
36+
37+
private static async Task Process(string exampleArgument)
38+
{
39+
//Main Code for program here
40+
}
41+
}
42+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# $PackageId$
2+
3+
## About
4+
5+
$PackageDescription$
6+
7+
### About DataMiner
8+
9+
DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.
10+
11+
The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.
12+
13+
A unique catalog of 7000+ connectors already exist. In addition, you can leverage DataMiner Development Packages to build you own connectors (also known as "protocols" or "drivers").
14+
15+
> **Note**
16+
> See also: [About DataMiner](https://aka.dataminer.services/about-dataminer).
17+
18+
### About Skyline Communications
19+
20+
At Skyline Communications, we deal in world-class solutions that are deployed by leading companies around the globe. Check out [our proven track record](https://aka.dataminer.services/about-skyline) and see how we make our customers' lives easier by empowering them to take their operations to the next level.
21+
22+
## Getting Started
23+
In commandline:
24+
dotnet tool install -g $PackageId$
25+
26+
Then run the command
27+
$ToolCommandName$ help
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"$schema": "http://json.schemastore.org/dotnetcli.host",
3+
"symbolInfo": {
4+
"PackageId": {
5+
"longName": "package-id",
6+
"shortName": "id"
7+
},
8+
"ToolCommandName": {
9+
"longName": "tool-command",
10+
"shortName": "command"
11+
},
12+
"Description": {
13+
"longName": "description",
14+
"shortName": "desc"
15+
},
16+
"LisenceType": {
17+
"longName": "license-type",
18+
"shortName": "lic"
19+
},
20+
"GitRepoUrl": {
21+
"longName": "repo-url",
22+
"shortName": "url"
23+
}
24+
}
25+
}
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"$schema": "http://json.schemastore.org/vs-2017.3.host",
3+
"order": 0,
4+
"icon": "icon.png",
5+
"symbolInfo": [
6+
{
7+
"id": "PackageId",
8+
"name":
9+
{
10+
"text": "NuGet package ID"
11+
},
12+
"isVisible": true
13+
},
14+
{
15+
"id": "ToolCommandName",
16+
"name":
17+
{
18+
"text": "Tool Command"
19+
},
20+
"isVisible": true
21+
},
22+
{
23+
"id": "Description",
24+
"name":
25+
{
26+
"text": "Package Description"
27+
},
28+
"isVisible": true
29+
},
30+
{
31+
"id": "LicenseType",
32+
"name":
33+
{
34+
"text": "License"
35+
},
36+
"isVisible": true
37+
},
38+
{
39+
"id": "GitRepoUrl",
40+
"name":
41+
{
42+
"text": "Repository URL"
43+
},
44+
"isVisible": true
45+
}
46+
]
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
{
2+
"$schema": "http://json.schemastore.org/template",
3+
"author": "Skyline Communications",
4+
"classifications": [ "DataMiner" ],
5+
"tags": {
6+
"language": "C#",
7+
"type": "solution",
8+
"editorTreatAs":"solution"
9+
},
10+
"identity": "Skyline.DataMiner.DotNetToolSolution",
11+
"name": "DataMiner DotNet Tool Solution",
12+
"shortName": "dataminer-dotnettool-solution",
13+
"sourceName": "DataMinerDotNetToolSolutionTemplate",
14+
"symbols": {
15+
"PackageId": {
16+
"type": "parameter",
17+
"datatype": "string",
18+
"defaultValue": "Skyline.DataMiner.Utils.Tools.NAME",
19+
"replaces": "$PackageId$",
20+
"description": "The ID of the tool. Must start with \"Skyline.DataMiner.\"",
21+
"isRequired": true
22+
},
23+
"ToolCommandName": {
24+
"type": "parameter",
25+
"datatype": "string",
26+
"defaultValue": "MyShortCommand",
27+
"replaces": "$ToolCommandName$",
28+
"description": "The command eventually used to run the code.",
29+
"isRequired": true
30+
},
31+
"ProjectName": {
32+
"type": "generated",
33+
"generator": "regex",
34+
"dataType": "string",
35+
"replaces": "$ProjectName$",
36+
"FileRename": "ClassLibrary1",
37+
"parameters": {
38+
"source": "PackageId",
39+
"steps": [
40+
{
41+
"regex": "^Skyline\\.DataMiner\\.",
42+
"replacement": ""
43+
},
44+
{
45+
"regex": "test$",
46+
"replacement": "[/Replaced]"
47+
}
48+
]
49+
}
50+
},
51+
"Description": {
52+
"type": "parameter",
53+
"datatype": "string",
54+
"defaultValue": "",
55+
"replaces": "$PackageDescription$",
56+
"description": "A short description about this NuGet package.",
57+
"isRequired": true
58+
},
59+
"LicenseType": {
60+
"type": "parameter",
61+
"datatype": "choice",
62+
"defaultValue": "Skyline",
63+
"description": "The type of license applicable for this package.",
64+
"isRequired": true,
65+
"choices": [
66+
{
67+
"choice": "Skyline",
68+
"description": "Skyline license"
69+
},
70+
{
71+
"choice": "MIT",
72+
"description": "MIT license"
73+
}
74+
]
75+
},
76+
"GitRepoUrl": {
77+
"type": "parameter",
78+
"datatype": "string",
79+
"defaultValue": "",
80+
"replaces": "$GitRepoUrl$",
81+
"description": "The URL of the Git repository. Leave empty if not hosted."
82+
},
83+
"isSkylineLicense": {
84+
"type": "computed",
85+
"value": "LicenseType == \"Skyline\""
86+
},
87+
"isMitLicense": {
88+
"type": "computed",
89+
"value": "LicenseType == \"MIT\""
90+
},
91+
"hasGitRepoUrl": {
92+
"type": "computed",
93+
"value": "GitRepoUrl != \"\""
94+
},
95+
"CopyrightYear": {
96+
"type": "generated",
97+
"generator": "now",
98+
"replaces": "$COPYRIGHTYEAR$",
99+
"parameters": {
100+
"format": "yyyy"
101+
}
102+
}
103+
},
104+
"guids": [
105+
"DF04BB47-9C16-43F0-891A-D0FDEB7FDA3F",
106+
"A5C42DF2-BA32-4745-BE0D-6B58D55BE6C3",
107+
"35CB26C6-7C74-4B45-80AB-C115A40C7B93"
108+
],
109+
"sources": [
110+
{
111+
"modifiers": [
112+
{
113+
"exclude": [ "./[Content_Types].xml", "src/.vs/**", ".template_config/**", "[Content_Types].xml", "_rels/**", "*.nuspec", "*.nupkg", "package/**" ]
114+
}
115+
]
116+
}
117+
]
118+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<OutputType>Exe</OutputType>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<PackAsTool>true</PackAsTool>
6+
<ToolCommandName>$ToolCommandName$</ToolCommandName>
7+
<ImplicitUsings>disable</ImplicitUsings>
8+
<Nullable>disable</Nullable>
9+
<AssemblyName>$PackageId$</AssemblyName>
10+
<PackageVersion>1.0.1</PackageVersion>
11+
<Version>1.0.1</Version>
12+
<PackageTags>Skyline;DataMiner</PackageTags>
13+
<PackageProjectUrl>https://skyline.be</PackageProjectUrl>
14+
<PackageReadmeFile>README.md</PackageReadmeFile>
15+
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
16+
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
17+
<PackageIcon>Icon.png</PackageIcon>
18+
<GenerateDocumentationFile>True</GenerateDocumentationFile>
19+
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
20+
<Authors>SkylineCommunications</Authors>
21+
<Company>Skyline Communications</Company>
22+
<Description>$PackageDescription$</Description>
23+
<RepositoryType Condition="$(hasGitRepoUrl)">git</RepositoryType>
24+
<RepositoryUrl Condition="$(hasGitRepoUrl)">$GitRepoUrl$</RepositoryUrl>
25+
</PropertyGroup>
26+
27+
<ItemGroup>
28+
<None Include="README.md" Pack="true" PackagePath="" />
29+
<None Include="LICENSE.txt" Pack="true" PackagePath="" />
30+
<None Include="nuget\Icon.png" Pack="true" PackagePath="" />
31+
</ItemGroup>
32+
<ItemGroup>
33+
<PackageReference Include="Skyline.DataMiner.CICD.FileSystem" Version="1.0.0.2" />
34+
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
35+
</ItemGroup>
36+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//#if (isSkylineLicense)
2+
SKYLINE LIBRARY LICENSE
3+
4+
1. Applicability
5+
The software in this repository (hereafter the “Software”) is owned by Skyline Communications (hereafter “Skyline”). The terms of this license govern your use of the Software. If you do not agree with the terms of this license, you may not use or exploit the Software in any other manner.
6+
2. Grant of rights
7+
You may use the Software for the development, testing and validation of DataMiner packages and components only.
8+
You may not use this Software in any other manner unless you have obtained Skyline’s prior written authorization to do so.
9+
It is forbidden to create derivative works of the Software.
10+
3. Intellectual property
11+
Skyline owns the intellectual property rights vested in the Software. Skyline granting you access to the Software does not entail permission to utilize or otherwise manipulate the Software in contravention to this Library License. Skyline reserves the right to pursue legal action against you in case of breach of its intellectual property rights.
12+
4. No warranty
13+
Skyline provides the Software ‘as is’, without any warranty of any kind.
14+
5. Limitation of liability
15+
Within the maximum possible extent under the applicable laws, Skyline disclaims all liability for the Software.
16+
6. Applicable laws and jurisdiction
17+
This license shall be governed by the laws of Belgium. Any dispute shall be submitted to the exclusive jurisdiction of the competent courts of Gent, division Kortrijk, Belgium
18+
//#endif
19+
//#if (isMitLicense)
20+
MIT License
21+
22+
Copyright (c) $COPYRIGHTYEAR$ Skyline Communications
23+
24+
Permission is hereby granted, free of charge, to any person obtaining a copy
25+
of this software and associated documentation files (the "Software"), to deal
26+
in the Software without restriction, including without limitation the rights
27+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28+
copies of the Software, and to permit persons to whom the Software is
29+
furnished to do so, subject to the following conditions:
30+
31+
The above copyright notice and this permission notice shall be included in all
32+
copies or substantial portions of the Software.
33+
34+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
40+
SOFTWARE.
41+
//#endif
42+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
namespace $PackageId$
2+
{
3+
using System.CommandLine;
4+
using System.Threading.Tasks;
5+
6+
/// <summary>
7+
/// Checks what projects are Legacy style or SDK Style.
8+
/// </summary>
9+
public static class Program
10+
{
11+
/// <summary>
12+
/// $PackageDescription$.
13+
/// </summary>
14+
/// <param name="args">Extra arguments.</param>
15+
/// <returns>0 if successful.</returns>
16+
public static async Task<int> Main(string[] args)
17+
{
18+
var exampleArgument = new Option<string>(
19+
name: "--exampleArgument",
20+
description: "Just an example argument.")
21+
{
22+
IsRequired = true
23+
};
24+
25+
var rootCommand = new RootCommand("$PackageDescription$")
26+
{
27+
exampleArgument,
28+
};
29+
30+
rootCommand.SetHandler(Process, exampleArgument);
31+
32+
await rootCommand.InvokeAsync(args);
33+
34+
return 0;
35+
}
36+
37+
private static async Task Process(string exampleArgument)
38+
{
39+
//Main Code for program here
40+
}
41+
}
42+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# $PackageId$
2+
3+
## About
4+
5+
$PackageDescription$
6+
7+
### About DataMiner
8+
9+
DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.
10+
11+
The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.
12+
13+
A unique catalog of 7000+ connectors already exist. In addition, you can leverage DataMiner Development Packages to build you own connectors (also known as "protocols" or "drivers").
14+
15+
> **Note**
16+
> See also: [About DataMiner](https://aka.dataminer.services/about-dataminer).
17+
18+
### About Skyline Communications
19+
20+
At Skyline Communications, we deal in world-class solutions that are deployed by leading companies around the globe. Check out [our proven track record](https://aka.dataminer.services/about-skyline) and see how we make our customers' lives easier by empowering them to take their operations to the next level.
21+
22+
## Getting Started
23+
In commandline:
24+
dotnet tool install -g $PackageId$
25+
26+
Then run the command
27+
$ToolCommandName$ help
28+
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
//#if (isSkylineLicense)
2+
SKYLINE LIBRARY LICENSE
3+
4+
1. Applicability
5+
The software in this repository (hereafter the “Software”) is owned by Skyline Communications (hereafter “Skyline”). The terms of this license govern your use of the Software. If you do not agree with the terms of this license, you may not use or exploit the Software in any other manner.
6+
2. Grant of rights
7+
You may use the Software for the development, testing and validation of DataMiner packages and components only.
8+
You may not use this Software in any other manner unless you have obtained Skyline’s prior written authorization to do so.
9+
It is forbidden to create derivative works of the Software.
10+
3. Intellectual property
11+
Skyline owns the intellectual property rights vested in the Software. Skyline granting you access to the Software does not entail permission to utilize or otherwise manipulate the Software in contravention to this Library License. Skyline reserves the right to pursue legal action against you in case of breach of its intellectual property rights.
12+
4. No warranty
13+
Skyline provides the Software ‘as is’, without any warranty of any kind.
14+
5. Limitation of liability
15+
Within the maximum possible extent under the applicable laws, Skyline disclaims all liability for the Software.
16+
6. Applicable laws and jurisdiction
17+
This license shall be governed by the laws of Belgium. Any dispute shall be submitted to the exclusive jurisdiction of the competent courts of Gent, division Kortrijk, Belgium
18+
//#endif
19+
//#if (isMitLicense)
20+
MIT License
21+
22+
Copyright (c) $COPYRIGHTYEAR$ Skyline Communications
23+
24+
Permission is hereby granted, free of charge, to any person obtaining a copy
25+
of this software and associated documentation files (the "Software"), to deal
26+
in the Software without restriction, including without limitation the rights
27+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
28+
copies of the Software, and to permit persons to whom the Software is
29+
furnished to do so, subject to the following conditions:
30+
31+
The above copyright notice and this permission notice shall be included in all
32+
copies or substantial portions of the Software.
33+
34+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
40+
SOFTWARE.
41+
//#endif
42+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# $PackageId$
2+
3+
## About
4+
5+
$PackageDescription$
6+
7+
## Projects
8+
9+
* For more information about $PackageId$, see [$ProjectName$/README.md]($ProjectName$/README.md).
10+
11+
### About DataMiner
12+
13+
DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.
14+
15+
The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.
16+
17+
A unique catalog of 7000+ connectors already exists. In addition, you can leverage DataMiner Development Packages to build your own connectors (also known as "protocols" or "drivers").
18+
19+
> **Note**
20+
> See also: [About DataMiner](https://aka.dataminer.services/about-dataminer).
21+
22+
### About Skyline Communications
23+
24+
At Skyline Communications, we deal with world-class solutions that are deployed by leading companies around the globe. Check out [our proven track record](https://aka.dataminer.services/about-skyline) and see how we make our customers' lives easier by empowering them to take their operations to the next level.
25+
26+
<!-- Uncomment below and add more info to provide more information about how to use this package. -->
27+
<!-- ## Getting Started -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.4.33213.308
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "$ProjectName$", "$ProjectName$\$ProjectName$.csproj", "{DF04BB47-9C16-43F0-891A-D0FDEB7FDA3F}"
7+
EndProject
8+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{35CB26C6-7C74-4B45-80AB-C115A40C7B93}"
9+
ProjectSection(SolutionItems) = preProject
10+
README.md = README.md
11+
LICENSE = LICENSE
12+
EndProjectSection
13+
EndProject
14+
Global
15+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
16+
Debug|Any CPU = Debug|Any CPU
17+
Release|Any CPU = Release|Any CPU
18+
EndGlobalSection
19+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
20+
{DF04BB47-9C16-43F0-891A-D0FDEB7FDA3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21+
{DF04BB47-9C16-43F0-891A-D0FDEB7FDA3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
22+
{DF04BB47-9C16-43F0-891A-D0FDEB7FDA3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{DF04BB47-9C16-43F0-891A-D0FDEB7FDA3F}.Release|Any CPU.Build.0 = Release|Any CPU
24+
EndGlobalSection
25+
GlobalSection(SolutionProperties) = preSolution
26+
HideSolutionNode = FALSE
27+
EndGlobalSection
28+
GlobalSection(ExtensibilityGlobals) = postSolution
29+
SolutionGuid = {A5C42DF2-BA32-4745-BE0D-6B58D55BE6C3}
30+
EndGlobalSection
31+
EndGlobal

0 commit comments

Comments
 (0)
Please sign in to comment.