Skip to content

Commit 4152db1

Browse files
committed
#4299 - add new schemas for 6.11.*
1 parent f70c5a8 commit 4152db1

File tree

3 files changed

+536
-0
lines changed

3 files changed

+536
-0
lines changed
Lines changed: 394 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,394 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"$id": "https://gitversion.net/schemas/6.1/GitVersion.configuration.json",
4+
"title": "GitVersion Configuration (6.1)",
5+
"description": "GitVersion configuration schema (6.1)",
6+
"type": "object",
7+
"properties": {
8+
"assembly-file-versioning-format": {
9+
"description": "Specifies the format of AssemblyFileVersion and overwrites the value of assembly-file-versioning-scheme.",
10+
"type": "string"
11+
},
12+
"assembly-file-versioning-scheme": {
13+
"description": "The scheme to use when setting AssemblyFileVersion attribute. Can be 'MajorMinorPatchTag', 'MajorMinorPatch', 'MajorMinor', 'Major', 'None'. Defaults to 'MajorMinorPatch'.",
14+
"default": "MajorMinorPatch",
15+
"enum": [
16+
"MajorMinorPatchTag",
17+
"MajorMinorPatch",
18+
"MajorMinor",
19+
"Major",
20+
"None"
21+
]
22+
},
23+
"assembly-informational-format": {
24+
"description": "Specifies the format of AssemblyInformationalVersion. Defaults to '{InformationalVersion}'.",
25+
"default": "'{InformationalVersion}'",
26+
"type": "string"
27+
},
28+
"assembly-versioning-format": {
29+
"description": "Specifies the format of AssemblyVersion and overwrites the value of assembly-versioning-scheme.",
30+
"type": "string"
31+
},
32+
"assembly-versioning-scheme": {
33+
"description": "The scheme to use when setting AssemblyVersion attribute. Can be 'MajorMinorPatchTag', 'MajorMinorPatch', 'MajorMinor', 'Major', 'None'. Defaults to 'MajorMinorPatch'.",
34+
"default": "MajorMinorPatch",
35+
"enum": [
36+
"MajorMinorPatchTag",
37+
"MajorMinorPatch",
38+
"MajorMinor",
39+
"Major",
40+
"None"
41+
]
42+
},
43+
"branches": {
44+
"description": "The header for all the individual branch configuration.",
45+
"type": "object",
46+
"additionalProperties": {
47+
"$ref": "#/$defs/branchConfiguration"
48+
}
49+
},
50+
"commit-date-format": {
51+
"description": "The format to use when calculating the commit date. Defaults to 'yyyy-MM-dd'. See [Standard Date and Time Format Strings](https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings) and [Custom Date and Time Format Strings](https://learn.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings).",
52+
"default": "yyyy-MM-dd",
53+
"type": "string"
54+
},
55+
"commit-message-incrementing": {
56+
"$ref": "#/$defs/nullableOfCommitMessageIncrementMode"
57+
},
58+
"mode": {
59+
"$ref": "#/$defs/nullableOfDeploymentMode"
60+
},
61+
"ignore": {
62+
"description": "The header property for the ignore configuration.",
63+
"type": "object",
64+
"properties": {
65+
"commits-before": {
66+
"$ref": "#/$defs/string3"
67+
},
68+
"sha": {
69+
"$ref": "#/$defs/hashSetOfString2"
70+
}
71+
}
72+
},
73+
"increment": {
74+
"$ref": "#/$defs/incrementStrategy"
75+
},
76+
"is-main-branch": {
77+
"$ref": "#/$defs/nullableOfBoolean"
78+
},
79+
"is-release-branch": {
80+
"$ref": "#/$defs/nullableOfBoolean1"
81+
},
82+
"is-source-branch-for": {
83+
"$ref": "#/$defs/hashSetOfString"
84+
},
85+
"label": {
86+
"$ref": "#/$defs/string"
87+
},
88+
"label-number-pattern": {
89+
"$ref": "#/$defs/string1"
90+
},
91+
"major-version-bump-message": {
92+
"format": "regex",
93+
"description": "The regular expression to match commit messages with to perform a major version increment. Defaults to '\\+semver:\\s?(breaking|major)'",
94+
"default": "\\+semver:\\s?(breaking|major)",
95+
"type": "string"
96+
},
97+
"merge-message-formats": {
98+
"description": "Custom merge message formats to enable identification of merge messages that do not follow the built-in conventions.",
99+
"type": "object",
100+
"additionalProperties": {
101+
"type": "string"
102+
}
103+
},
104+
"minor-version-bump-message": {
105+
"format": "regex",
106+
"description": "The regular expression to match commit messages with to perform a minor version increment. Defaults to '\\+semver:\\s?(feature|minor)'",
107+
"default": "\\+semver:\\s?(feature|minor)",
108+
"type": "string"
109+
},
110+
"next-version": {
111+
"description": "Allows you to bump the next version explicitly. Useful for bumping main or a feature branch with breaking changes",
112+
"type": "string"
113+
},
114+
"no-bump-message": {
115+
"format": "regex",
116+
"description": "Used to tell GitVersion not to increment when in Mainline development mode. Defaults to '\\+semver:\\s?(none|skip)'",
117+
"default": "\\+semver:\\s?(none|skip)",
118+
"type": "string"
119+
},
120+
"patch-version-bump-message": {
121+
"format": "regex",
122+
"description": "The regular expression to match commit messages with to perform a patch version increment. Defaults to '\\+semver:\\s?(fix|patch)'",
123+
"default": "\\+semver:\\s?(fix|patch)",
124+
"type": "string"
125+
},
126+
"pre-release-weight": {
127+
"$ref": "#/$defs/nullableOfInt32"
128+
},
129+
"prevent-increment": {
130+
"$ref": "#/$defs/preventIncrementConfiguration"
131+
},
132+
"regex": {
133+
"$ref": "#/$defs/string2"
134+
},
135+
"semantic-version-format": {
136+
"description": "Specifies the semantic version format that is used when parsing the string. Can be 'Strict' or 'Loose'. Defaults to 'Strict'.",
137+
"default": "Strict",
138+
"enum": [
139+
"Strict",
140+
"Loose"
141+
]
142+
},
143+
"source-branches": {
144+
"$ref": "#/$defs/hashSetOfString1"
145+
},
146+
"tag-prefix": {
147+
"format": "regex",
148+
"description": "A regular expression which is used to trim Git tags before processing. Defaults to '[vV]?'",
149+
"default": "[vV]?",
150+
"type": "string"
151+
},
152+
"tag-pre-release-weight": {
153+
"description": "The pre-release weight in case of tagged commits. Defaults to 60000.",
154+
"type": [
155+
"integer",
156+
"null"
157+
]
158+
},
159+
"track-merge-message": {
160+
"$ref": "#/$defs/nullableOfBoolean4"
161+
},
162+
"track-merge-target": {
163+
"$ref": "#/$defs/nullableOfBoolean5"
164+
},
165+
"tracks-release-branches": {
166+
"$ref": "#/$defs/nullableOfBoolean6"
167+
},
168+
"update-build-number": {
169+
"description": "Whether to update the build number in the project file. Defaults to true.",
170+
"default": "true",
171+
"type": "boolean"
172+
},
173+
"version-in-branch-pattern": {
174+
"format": "regex",
175+
"description": "A regular expression which is used to determine the version number in the branch name or commit message (e.g., v1.0.0-LTS). Defaults to '(?<version>[vV]?\\d+(\\.\\d+)?(\\.\\d+)?).*'.",
176+
"default": "(?<version>[vV]?\\d+(\\.\\d+)?(\\.\\d+)?).*",
177+
"type": "string"
178+
},
179+
"strategies": {
180+
"description": "Specifies which version strategies (one or more) will be used to determine the next version. Following values are available: 'ConfiguredNextVersion', 'MergeMessage', 'TaggedCommit', 'TrackReleaseBranches', 'VersionInBranchName' and 'Mainline'.",
181+
"type": "array",
182+
"items": {
183+
"description": "Specifies which version strategies (one or more) will be used to determine the next version. Following values are available: 'ConfiguredNextVersion', 'MergeMessage', 'TaggedCommit', 'TrackReleaseBranches', 'VersionInBranchName' and 'Mainline'.",
184+
"enum": [
185+
"None",
186+
"Fallback",
187+
"ConfiguredNextVersion",
188+
"MergeMessage",
189+
"TaggedCommit",
190+
"TrackReleaseBranches",
191+
"VersionInBranchName",
192+
"Mainline"
193+
]
194+
}
195+
},
196+
"workflow": {
197+
"description": "The base template of the configuration to use. Possible values are: 'GitFlow/v1' or 'GitHubFlow/v1'",
198+
"type": "string"
199+
}
200+
},
201+
"$defs": {
202+
"branchConfiguration": {
203+
"type": "object",
204+
"properties": {
205+
"commit-message-incrementing": {
206+
"$ref": "#/$defs/nullableOfCommitMessageIncrementMode"
207+
},
208+
"mode": {
209+
"$ref": "#/$defs/nullableOfDeploymentMode"
210+
},
211+
"increment": {
212+
"$ref": "#/$defs/incrementStrategy"
213+
},
214+
"is-main-branch": {
215+
"$ref": "#/$defs/nullableOfBoolean"
216+
},
217+
"is-release-branch": {
218+
"$ref": "#/$defs/nullableOfBoolean1"
219+
},
220+
"is-source-branch-for": {
221+
"$ref": "#/$defs/hashSetOfString"
222+
},
223+
"label": {
224+
"$ref": "#/$defs/string"
225+
},
226+
"label-number-pattern": {
227+
"$ref": "#/$defs/string1"
228+
},
229+
"pre-release-weight": {
230+
"$ref": "#/$defs/nullableOfInt32"
231+
},
232+
"prevent-increment": {
233+
"$ref": "#/$defs/preventIncrementConfiguration"
234+
},
235+
"regex": {
236+
"$ref": "#/$defs/string2"
237+
},
238+
"source-branches": {
239+
"$ref": "#/$defs/hashSetOfString1"
240+
},
241+
"track-merge-message": {
242+
"$ref": "#/$defs/nullableOfBoolean4"
243+
},
244+
"track-merge-target": {
245+
"$ref": "#/$defs/nullableOfBoolean5"
246+
},
247+
"tracks-release-branches": {
248+
"$ref": "#/$defs/nullableOfBoolean6"
249+
}
250+
}
251+
},
252+
"nullableOfCommitMessageIncrementMode": {
253+
"description": "Sets whether it should be possible to increment the version with special syntax in the commit message. Can be 'Disabled', 'Enabled' or 'MergeMessageOnly'.",
254+
"enum": [
255+
"Enabled",
256+
"Disabled",
257+
"MergeMessageOnly"
258+
]
259+
},
260+
"nullableOfDeploymentMode": {
261+
"description": "The deployment mode for this branch. Can be 'ManualDeployment', 'ContinuousDelivery', 'ContinuousDeployment'.",
262+
"enum": [
263+
"ManualDeployment",
264+
"ContinuousDelivery",
265+
"ContinuousDeployment"
266+
]
267+
},
268+
"incrementStrategy": {
269+
"description": "The increment strategy for this branch. Can be 'Inherit', 'Patch', 'Minor', 'Major', 'None'.",
270+
"enum": [
271+
"None",
272+
"Major",
273+
"Minor",
274+
"Patch",
275+
"Inherit"
276+
]
277+
},
278+
"nullableOfBoolean": {
279+
"description": "When using Mainline mode, this indicates that this branch is a mainline. By default main and support/* are mainlines.",
280+
"type": [
281+
"boolean",
282+
"null"
283+
]
284+
},
285+
"nullableOfBoolean1": {
286+
"description": "Indicates this branch configuration represents a release branch in GitFlow.",
287+
"type": [
288+
"boolean",
289+
"null"
290+
]
291+
},
292+
"hashSetOfString": {
293+
"description": "The branches that this branch is a source branch.",
294+
"type": "array",
295+
"items": {
296+
"description": "The branches that this branch is a source branch.",
297+
"type": "string"
298+
}
299+
},
300+
"string": {
301+
"description": "The label to use for this branch. Use the value {BranchName} or similar as a placeholder to insert a named capture group from RegularExpression (fx. the branch name).",
302+
"type": "string"
303+
},
304+
"string1": {
305+
"format": "regex",
306+
"description": "The regular expression pattern to use to extract the number from the branch name. Defaults to '[/-](?<number>\\d+)'.",
307+
"default": "[/-](?<number>\\d+)",
308+
"type": "string"
309+
},
310+
"nullableOfInt32": {
311+
"description": "Provides a way to translate the PreReleaseLabel to a number.",
312+
"type": [
313+
"integer",
314+
"null"
315+
]
316+
},
317+
"preventIncrementConfiguration": {
318+
"description": "The prevent increment configuration section.",
319+
"type": "object",
320+
"properties": {
321+
"of-merged-branch": {
322+
"$ref": "#/$defs/nullableOfBoolean2"
323+
},
324+
"when-branch-merged": {
325+
"$ref": "#/$defs/nullableOfBoolean2"
326+
},
327+
"when-current-commit-tagged": {
328+
"$ref": "#/$defs/nullableOfBoolean3"
329+
}
330+
}
331+
},
332+
"nullableOfBoolean2": {
333+
"description": "Prevent increment when branch merged.",
334+
"type": [
335+
"boolean",
336+
"null"
337+
]
338+
},
339+
"nullableOfBoolean3": {
340+
"description": "This branch related property controls the behavior whether to use the tagged (value set to true) or the incremented (value set to false) semantic version. Defaults to true.",
341+
"type": [
342+
"boolean",
343+
"null"
344+
]
345+
},
346+
"string2": {
347+
"format": "regex",
348+
"description": "The regular expression pattern to use to match this branch.",
349+
"type": "string"
350+
},
351+
"hashSetOfString1": {
352+
"description": "The source branches for this branch.",
353+
"type": "array",
354+
"items": {
355+
"description": "The source branches for this branch.",
356+
"type": "string"
357+
}
358+
},
359+
"nullableOfBoolean4": {
360+
"description": "This property is a branch related property and gives the user the possibility to control the behavior of whether the merge commit message will be interpreted as a next version or not.",
361+
"type": [
362+
"boolean",
363+
"null"
364+
]
365+
},
366+
"nullableOfBoolean5": {
367+
"description": "Strategy which will look for tagged merge commits directly off the current branch.",
368+
"type": [
369+
"boolean",
370+
"null"
371+
]
372+
},
373+
"nullableOfBoolean6": {
374+
"description": "Indicates this branch configuration represents develop in GitFlow.",
375+
"type": [
376+
"boolean",
377+
"null"
378+
]
379+
},
380+
"string3": {
381+
"format": "date-time",
382+
"description": "Commits before this date will be ignored. Format: yyyy-MM-ddTHH:mm:ss.",
383+
"type": "string"
384+
},
385+
"hashSetOfString2": {
386+
"description": "A sequence of SHAs to be excluded from the version calculations.",
387+
"type": "array",
388+
"items": {
389+
"description": "A sequence of SHAs to be excluded from the version calculations.",
390+
"type": "string"
391+
}
392+
}
393+
}
394+
}

0 commit comments

Comments
 (0)