1- {
2- "$schema" : " http://json.schemastore.org/template" ,
3- "identity" : " BenchmarkDotNet.BenchmarkProjectTemplate.CSharp" ,
4- "name" : " Benchmark Project" ,
5- "shortName" : " benchmark" ,
6- "groupIdentity" : " BenchmarkDotNet" ,
7- "classifications" : [
8- " Benchmark" ,
9- " Library"
10- ],
11- "precedence" : " 3000" ,
12- "tags" : {
13- "language" : " C#" ,
14- "type" : " project"
15- },
16- "description" : " A project template for creating benchmarks." ,
17- "author" : " .NET Foundation and contributors" ,
18- "generatorVersions" : " [1.0.0.0-*)" ,
19-
20- "sourceName" : " _BenchmarkProjectName_" ,
21- "preferNameDirectory" : true ,
22- "defaultName" : " BenchmarkSuite" ,
23- "symbols" : {
24- "benchmarkName" : {
25- "type" : " parameter" ,
26- "datatype" : " string" ,
27- "description" : " The name of the benchmark class." ,
28- "defaultValue" : " Benchmarks" ,
29- "FileRename" : " _BenchmarkName_" ,
30- "replaces" : " $(BenchmarkName)"
31- },
32- "framework" : {
33- "type" : " parameter" ,
34- "description" : " The target framework for the project." ,
35- "datatype" : " choice" ,
36- "choices" : [
37- {
38- "choice" : " net8.0" ,
39- "description" : " .NET 8"
40- },
41- {
42- "choice" : " net7.0" ,
43- "description" : " .NET 7"
44- },
45- {
46- "choice" : " net6.0" ,
47- "description" : " .NET 6"
48- },
49- {
50- "choice" : " netstandard2.1" ,
51- "description" : " .NET Standard 2.1"
52- },
53- {
54- "choice" : " netstandard2.0" ,
55- "description" : " .NET Standard 2.0"
56- },
57- {
58- "choice" : " net481" ,
59- "description" : " .NET Framework 4.8.1"
60- },
61- {
62- "choice" : " net48" ,
63- "description" : " .NET Framework 4.8"
64- },
65- {
66- "choice" : " net472" ,
67- "description" : " .NET Framework 4.7.2"
68- },
69- {
70- "choice" : " net471" ,
71- "description" : " .NET Framework 4.7.1"
72- },
73- {
74- "choice" : " net47" ,
75- "description" : " .NET Framework 4.7"
76- },
77- {
78- "choice" : " net462" ,
79- "description" : " .NET Framework 4.6.2"
80- }
81- ],
82- "defaultValue" : " "
83- },
84- "frameworkDefault" : {
85- "type" : " generated" ,
86- "generator" : " switch" ,
87- "description" : " generate a default framework value based on consoleApp" ,
88- "parameters" : {
89- "evaluator" : " C++" ,
90- "datatype" : " string" ,
91- "cases" : [
92- {
93- "condition" : " (framework == '' && consoleApp == true)" ,
94- "value" : " net6.0"
95- },
96- {
97- "condition" : " (framework == '' && consoleApp == false)" ,
98- "value" : " netstandard2.0"
99- },
100- {
101- "condition" : " (framework != '')" ,
102- "value" : " "
103- }
104- ]
105- }
106- },
107- "frameworkValue" : {
108- "type" : " generated" ,
109- "generator" : " join" ,
110- "description" : " join framework and frameworkDefault" ,
111- "parameters" : {
112- "symbols" : [
113- {
114- "type" : " ref" ,
115- "value" : " framework"
116- },
117- {
118- "type" : " ref" ,
119- "value" : " frameworkDefault"
120- }
121- ]
122- },
123- "replaces" : " $(Framework)"
124- },
125- "config" : {
126- "type" : " parameter" ,
127- "datatype" : " bool" ,
128- "description" : " Adds a benchmark config class." ,
129- "defaultValue" : " false"
130- },
131- "skipRestore" : {
132- "type" : " parameter" ,
133- "datatype" : " bool" ,
134- "description" : " If specified, skips the automatic restore of the project on create." ,
135- "defaultValue" : " false"
136- },
137- "consoleApp" : {
138- "type" : " parameter" ,
139- "datatype" : " bool" ,
140- "description" : " If specified, the project is set up as console app." ,
141- "defaultValue" : " true"
142- },
143- "version" : {
144- "type" : " parameter" ,
145- "datatype" : " string" ,
146- "description" : " Version of BenchmarkDotNet that will be referenced." ,
147- "defaultValue" : " 0.13.7" ,
148- "replaces" : " $(BenchmarkDotNetVersion)"
149- }
150- },
151- "sources" : [
152- {
153- "source" : " ./" ,
154- "target" : " ./" ,
155- "exclude" : [
156- " .template.config/**"
157- ],
158- "modifiers" : [
159- {
160- "condition" : " (!config)" ,
161- "exclude" : [
162- " BenchmarkConfig.cs"
163- ]
164- },
165- {
166- "condition" : " (!consoleApp)" ,
167- "exclude" : [
168- " Program.cs"
169- ]
170- }
171- ]
172- }
173- ],
174- "primaryOutputs" : [
175- {
176- "path" : " _BenchmarkProjectName_.csproj"
177- }
178- ],
179- "postActions" : [
180- {
181- "condition" : " (!skipRestore)" ,
182- "description" : " Restore NuGet packages required by this project." ,
183- "manualInstructions" : [
184- {
185- "text" : " Run 'dotnet restore'"
186- }
187- ],
188- "actionId" : " 210D431B-A78B-4D2F-B762-4ED3E3EA9025" ,
189- "continueOnError" : true
190- }
191- ]
1+ {
2+ "$schema" : " http://json.schemastore.org/template" ,
3+ "identity" : " BenchmarkDotNet.BenchmarkProjectTemplate.CSharp" ,
4+ "name" : " Benchmark Project" ,
5+ "shortName" : " benchmark" ,
6+ "groupIdentity" : " BenchmarkDotNet" ,
7+ "classifications" : [
8+ " Benchmark" ,
9+ " Library"
10+ ],
11+ "precedence" : " 3000" ,
12+ "tags" : {
13+ "language" : " C#" ,
14+ "type" : " project"
15+ },
16+ "description" : " A project template for creating benchmarks." ,
17+ "author" : " .NET Foundation and contributors" ,
18+ "generatorVersions" : " [1.0.0.0-*)" ,
19+
20+ "sourceName" : " _BenchmarkProjectName_" ,
21+ "preferNameDirectory" : true ,
22+ "defaultName" : " BenchmarkSuite" ,
23+ "symbols" : {
24+ "benchmarkName" : {
25+ "type" : " parameter" ,
26+ "datatype" : " string" ,
27+ "description" : " The name of the benchmark class." ,
28+ "defaultValue" : " Benchmarks" ,
29+ "FileRename" : " _BenchmarkName_" ,
30+ "replaces" : " $(BenchmarkName)"
31+ },
32+ "framework" : {
33+ "type" : " parameter" ,
34+ "description" : " The target framework for the project." ,
35+ "datatype" : " choice" ,
36+ "choices" : [
37+ {
38+ "choice" : " net8.0" ,
39+ "description" : " .NET 8"
40+ },
41+ {
42+ "choice" : " net7.0" ,
43+ "description" : " .NET 7"
44+ },
45+ {
46+ "choice" : " net6.0" ,
47+ "description" : " .NET 6"
48+ },
49+ {
50+ "choice" : " netstandard2.1" ,
51+ "description" : " .NET Standard 2.1"
52+ },
53+ {
54+ "choice" : " netstandard2.0" ,
55+ "description" : " .NET Standard 2.0"
56+ },
57+ {
58+ "choice" : " net481" ,
59+ "description" : " .NET Framework 4.8.1"
60+ },
61+ {
62+ "choice" : " net48" ,
63+ "description" : " .NET Framework 4.8"
64+ },
65+ {
66+ "choice" : " net472" ,
67+ "description" : " .NET Framework 4.7.2"
68+ },
69+ {
70+ "choice" : " net471" ,
71+ "description" : " .NET Framework 4.7.1"
72+ },
73+ {
74+ "choice" : " net47" ,
75+ "description" : " .NET Framework 4.7"
76+ },
77+ {
78+ "choice" : " net462" ,
79+ "description" : " .NET Framework 4.6.2"
80+ }
81+ ],
82+ "defaultValue" : " "
83+ },
84+ "frameworkDefault" : {
85+ "type" : " generated" ,
86+ "generator" : " switch" ,
87+ "description" : " generate a default framework value based on consoleApp" ,
88+ "parameters" : {
89+ "evaluator" : " C++" ,
90+ "datatype" : " string" ,
91+ "cases" : [
92+ {
93+ "condition" : " (framework == '' && consoleApp == true)" ,
94+ "value" : " net6.0"
95+ },
96+ {
97+ "condition" : " (framework == '' && consoleApp == false)" ,
98+ "value" : " netstandard2.0"
99+ },
100+ {
101+ "condition" : " (framework != '')" ,
102+ "value" : " "
103+ }
104+ ]
105+ }
106+ },
107+ "frameworkValue" : {
108+ "type" : " generated" ,
109+ "generator" : " join" ,
110+ "description" : " join framework and frameworkDefault" ,
111+ "parameters" : {
112+ "symbols" : [
113+ {
114+ "type" : " ref" ,
115+ "value" : " framework"
116+ },
117+ {
118+ "type" : " ref" ,
119+ "value" : " frameworkDefault"
120+ }
121+ ]
122+ },
123+ "replaces" : " $(Framework)"
124+ },
125+ "config" : {
126+ "type" : " parameter" ,
127+ "datatype" : " bool" ,
128+ "description" : " Adds a benchmark config class." ,
129+ "defaultValue" : " false"
130+ },
131+ "skipRestore" : {
132+ "type" : " parameter" ,
133+ "datatype" : " bool" ,
134+ "description" : " If specified, skips the automatic restore of the project on create." ,
135+ "defaultValue" : " false"
136+ },
137+ "consoleApp" : {
138+ "type" : " parameter" ,
139+ "datatype" : " bool" ,
140+ "description" : " If specified, the project is set up as console app." ,
141+ "defaultValue" : " true"
142+ },
143+ "version" : {
144+ "type" : " parameter" ,
145+ "datatype" : " string" ,
146+ "description" : " Version of BenchmarkDotNet that will be referenced." ,
147+ "defaultValue" : " 0.13.7" ,
148+ "replaces" : " $(BenchmarkDotNetVersion)"
149+ }
150+ },
151+ "sources" : [
152+ {
153+ "source" : " ./" ,
154+ "target" : " ./" ,
155+ "exclude" : [
156+ " .template.config/**"
157+ ],
158+ "modifiers" : [
159+ {
160+ "condition" : " (!config)" ,
161+ "exclude" : [
162+ " BenchmarkConfig.cs"
163+ ]
164+ },
165+ {
166+ "condition" : " (!consoleApp)" ,
167+ "exclude" : [
168+ " Program.cs"
169+ ]
170+ }
171+ ]
172+ }
173+ ],
174+ "primaryOutputs" : [
175+ {
176+ "path" : " _BenchmarkProjectName_.csproj"
177+ }
178+ ],
179+ "postActions" : [
180+ {
181+ "condition" : " (!skipRestore)" ,
182+ "description" : " Restore NuGet packages required by this project." ,
183+ "manualInstructions" : [
184+ {
185+ "text" : " Run 'dotnet restore'"
186+ }
187+ ],
188+ "actionId" : " 210D431B-A78B-4D2F-B762-4ED3E3EA9025" ,
189+ "continueOnError" : true
190+ }
191+ ]
192192}
0 commit comments