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
+ ]
192
192
}
0 commit comments