@@ -17,6 +17,7 @@ function usage()
17
17
to-stable: Mark the current version as stable
18
18
to-next-patch-dev: Update to the next patch development version
19
19
to-next-minor-dev: Update to the next minor development version
20
+ to-next-major-dev: Update to the next major development version
20
21
get-version: Print the current version number
21
22
22
23
EOT ;
@@ -167,6 +168,23 @@ function get_next_minor_version(array $versions): array
167
168
];
168
169
}
169
170
171
+ function get_next_major_version (array $ versions ): array
172
+ {
173
+ $ versionComponents = $ versions ['versionComponents ' ];
174
+
175
+ // Increase major version, set other components to 0
176
+ $ versionComponents [0 ] += 1 ;
177
+ $ versionComponents [1 ] = 0 ;
178
+ $ versionComponents [2 ] = 0 ;
179
+ $ versionComponents [3 ] = 0 ;
180
+
181
+ return [
182
+ 'version ' => get_version_string_from_components ($ versionComponents ) . 'dev ' ,
183
+ 'stability ' => 'devel ' ,
184
+ 'versionComponents ' => $ versionComponents ,
185
+ ];
186
+ }
187
+
170
188
function get_next_release_version (array $ versions , string $ releaseVersion ): array
171
189
{
172
190
$ releaseVersion = parse_release_version ($ releaseVersion );
@@ -244,6 +262,10 @@ function get_next_dev_version(array $versions): array
244
262
$ newVersion = get_next_minor_version ($ currentVersion );
245
263
break ;
246
264
265
+ case 'to-next-major-dev ' :
266
+ $ newVersion = get_next_major_version ($ currentVersion );
267
+ break ;
268
+
247
269
default :
248
270
usage ();
249
271
}
0 commit comments