-
Notifications
You must be signed in to change notification settings - Fork 104
/
Copy pathT4.BuildTools.targets.buildschema.json
152 lines (152 loc) · 6.36 KB
/
T4.BuildTools.targets.buildschema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{
"license": "Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See LICENSE file in the project root for full license information.",
"items": {
"T4ReferencePath": {
"description": "Additional folders to search for T4 references",
"type": "folder"
},
"T4IncludePath": {
"description": "Additional folders to search for T4 includes",
"type": "folder"
},
"T4ParameterValues": {
"description": "T4 key-value property to pass to T4 templates",
"includeDescription": "T4 property key",
"deprecationMessage": "Legacy alternative to `@(T4Argument)`",
"metadata": {
"Value": "The T4 property value"
}
},
"T4Argument": {
"description": "T4 template argument, optionally scoped to a directive and/or directive processor. The value, processor and directive may be provided using the `Value, `Processor` and `Directive metadata, or encoded into the `Include` with the format `name=value`, `directive!name!value` or `processor!directive!name!value`.",
"includeDescription": "T4 argument name",
"metadata": {
"Value": "The T4 argument value. Overrides any value encoded in the `Include`.",
"Processor": "The T4 directive processor to use for this argument. Overrides any value encoded in the `Include`.",
"Directive": "The T4 directive to use for this argument. Overrides any value encoded in the `Include`."
}
},
"T4Transform": {
"description": "Files to be transformed using the T4 engine",
"type": "file"
},
"T4Preprocess": {
"description": "Files to be preprocessed using the T4 engine",
"type": "file"
},
"DirectiveProcessor": {
"description": "A T4 directive processor. The fully qualified class name and assembly path may be provided in `Class` and `Assembly` metadata, or encoded in `Include` with the syntax `name!class!assembly`.",
"includeDescription": "T4 directive processor name",
"metadata": {
"Class": "Fully qualified name of the processor class",
"Assembly": {
"description": "Location of the assembly containing the processor",
"type": "file"
},
"Codebase": {
"description": "The location of the assembly containing the processor",
"deprecationMessage": "Legacy alternative to `%(Assembly)`",
"type": "file"
}
}
},
"T4AssemblyReference": {
"description": "Assemblies to be referenced by T4 templates",
"type": "file"
},
"T4RequiredAssemblies": {
"description": "After running the `TransformTemplates` target, the assemblies that must be referenced to compile the preprocessed templates",
"type": "file"
},
"GeneratedTemplates": {
"description": "After running the `TransformTemplates` target, the output of all transformed templates",
"type": "file"
},
"PreprocessedTemplates": {
"description": "After running the `TransformTemplates` target, the output of all preprocessed templates",
"type": "file"
}
},
"metadata": [
{
// Metadata that controls how a specific template is processed
"$appliesTo": [ "T4Transform", "T4Preprocess" ],
"OutputFilePath": {
"description": "Overrides the output folder for a T4 template. Note that Visual Studio does not respect this.",
"type": "folder"
},
"OutputFileName": {
"description": "Overrides the output filename for a T4 template. Note that Visual Studio does not respect this.",
"type": "file"
}
},
{
"$appliesTo": [ "GeneratedTemplates", "PreprocessedTemplates" ],
"InputFile": {
"description": "The original template file that generated this file",
"type": "file"
},
"Dependencies": {
"description": "The files that the template depends on",
"type": "file",
"isList": true
}
}
],
"properties": {
"TransformOnBuild": {
"description": "Automatically transform T4 templates on build.",
"type": "bool",
"defaultValue": "false"
},
"TransformOutOfDateOnly": {
"description": "Only transform out of date T4 templates",
"type": "bool",
"defaultValue": "true"
},
"TransformFile": {
"description": "The T4 files to transform when running the `Transform` target",
"type": "file",
"isList": true
},
"BeforeTransform": {
"description": "Targets to run before the T4 Transform target",
"type": "target-name",
"deprecationMessage": "Use `BeforeTargets=\"TransformTemplatesCore\"` for target ordering.",
"isList": true
},
"AfterTransform": {
"description": "Targets to run after the T4 Transform target",
"type": "target-name",
"deprecationMessage": "Use `AfterTargets=\"TransformTemplatesCore\"` for target ordering.",
"isList": true
},
"IncludeFolders": {
"description": "Additional folders to search for T4 includes",
"type": "folder",
"isList": true,
"deprecationMessage": "Legacy alternative to `@(T4IncludePath)`"
},
"T4DefaultNamespace": {
"description": "Default namespace for preprocessed templates.",
"defaultValue": "$(RootNamespace)"
},
"PreprocessTemplateDefaultNamespace": {
"description": "Default namespace for preprocessed templates",
"defaultValue": "$(RootNamespace)",
"deprecationMessage": "Legacy alternative to `$(T4DefaultNamespace)`"
},
"UseLegacyT4Preprocessing": {
"description": "Place preprocessed templates beside the templates instead of dynamically injecting them into the build.",
"type": "bool"
},
"T4Arguments": {
"description": "Used to pass arguments when invoking on the CLI. This is a semicolon-separated list and uses the same format as encoded `T4Argument` items: `name=value`, `directive!name!value` or `processor!directive!name!value`.",
"isList": true
}
},
"targets": {
"TransformTemplates": "Invoke to explicitly transform T4 templates. If `$(TransformFile)` is set, only the templates listed in it will be transformed. Not invoked for automatic transformations; use `TransformTemplatesCore` for target ordering.",
"TransformTemplatesCore": "Runs when explicitly or automatically transforming templates. Use as ordering reference for `BeforeTargets`/`AfterTargets` in custom targets."
}
}