001/*-------------------------------------------------------------------------+ 002| | 003| Copyright 2005-2011 the ConQAT Project | 004| | 005| Licensed under the Apache License, Version 2.0 (the "License"); | 006| you may not use this file except in compliance with the License. | 007| You may obtain a copy of the License at | 008| | 009| http://www.apache.org/licenses/LICENSE-2.0 | 010| | 011| Unless required by applicable law or agreed to in writing, software | 012| distributed under the License is distributed on an "AS IS" BASIS, | 013| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 014| See the License for the specific language governing permissions and | 015| limitations under the License. | 016+-------------------------------------------------------------------------*/ 017package com.teamscale.core.migration; 018 019import org.conqat.lib.commons.collections.CollectionUtils; 020import org.conqat.lib.commons.version.Version; 021 022import java.util.Arrays; 023 024/** 025 * Enumeration with all released versions of Teamscale. 026 */ 027public enum ETeamscaleVersion { 028 029 /** Version 1.0 released on January, 30th 2014. */ 030 VERSION_1_0_0(1, 0, 0), 031 032 /** Version 1.1 released on April, 8th 2014. */ 033 VERSION_1_1_0(1, 1, 0), 034 035 /** Version 1.1.1 released on April, 11th 2014. */ 036 VERSION_1_1_1(1, 1, 1), 037 038 /** Version 1.2 released on July, 4th 2014. */ 039 VERSION_1_2_0(1, 2, 0), 040 041 /** Version 1.2.1 released on July, 17th 2014. */ 042 VERSION_1_2_1(1, 2, 1), 043 044 /** Version 1.3 released on October, 10th 2014. */ 045 VERSION_1_3_0(1, 3, 0), 046 047 /** Version 1.3.1 released on October, 17th 2014. */ 048 VERSION_1_3_1(1, 3, 1), 049 050 /** Version 1.3.2 released on December, 11th 2014. */ 051 VERSION_1_3_2(1, 3, 2), 052 053 /** Version 1.4 released on March, 13th 2015. */ 054 VERSION_1_4_0(1, 4, 0), 055 056 /** Version 1.5 released on July, 3rd 2015. */ 057 VERSION_1_5_0(1, 5, 0), 058 059 /** Version 1.5.1 released on August, 21st 2015. */ 060 VERSION_1_5_1(1, 5, 1), 061 062 /** Version 1.6 released on October, 9th 2015. */ 063 VERSION_1_6_0(1, 6, 0), 064 065 /** Version 1.6.1 released on December, 17th 2015. */ 066 VERSION_1_6_1(1, 6, 1), 067 068 /** Version 1.6.2 released on January, 26th 2016. */ 069 VERSION_1_6_2(1, 6, 2), 070 071 /** Version 2.0 released on February, 26th 2016. */ 072 VERSION_2_0_0(2, 0, 0), 073 074 /** Version 2.0.1 released on March, 16th 2016. */ 075 VERSION_2_0_1(2, 0, 1), 076 077 /** Version 2.0.2 released on April, 26th 2016. */ 078 VERSION_2_0_2(2, 0, 2), 079 080 /** Version 2.0.3 released on May, 25th 2016. */ 081 VERSION_2_0_3(2, 0, 3), 082 083 /** Version 2.0.4 released on June, 7th 2016. */ 084 VERSION_2_0_4(2, 0, 4), 085 086 /** Version 2.0.5 released on July, 11th 2016. */ 087 VERSION_2_0_5(2, 0, 5), 088 089 /** Version 2.0.6 released on August, 4th 2016. */ 090 VERSION_2_0_6(2, 0, 6), 091 092 /** Version 3.0 released on December, 21st 2016. */ 093 VERSION_3_0_0(3, 0, 0), 094 095 /** Version 3.0.1 released on January, 31th 2017. */ 096 VERSION_3_0_1(3, 0, 1), 097 098 /** Version 3.0.2 released on January, 20th 2017. */ 099 VERSION_3_0_2(3, 0, 2), 100 101 /** Version 3.0.3 released on January, 27th 2017. */ 102 VERSION_3_0_3(3, 0, 3), 103 104 /** Version 3.1 released on February, 1st 2017. */ 105 VERSION_3_1_0(3, 1, 0), 106 107 /** Version 3.1.1 released on February, 8th 2017. */ 108 VERSION_3_1_1(3, 1, 1), 109 110 /** Version 3.1.2 released on February, 15th 2017. */ 111 VERSION_3_1_2(3, 1, 2), 112 113 /** Version 3.1.3 released on February, 22th 2017. */ 114 VERSION_3_1_3(3, 1, 3), 115 116 /** Version 3.1.4 released on March, 8th 2017. */ 117 VERSION_3_1_4(3, 1, 4), 118 119 /** Version 3.1.5 released on March, 9th 2017. */ 120 VERSION_3_1_5(3, 1, 5), 121 122 /** Version 3.2.0 released on February, 22th 2017. */ 123 VERSION_3_2_0(3, 2, 0), 124 125 /** Version 3.2.1 released on March, 22th 2017. */ 126 VERSION_3_2_1(3, 2, 1), 127 128 /** Version 3.2.2 released on March, 29th 2017. */ 129 VERSION_3_2_2(3, 2, 2), 130 131 /** Version 3.2.3 released on April, 5th 2017. */ 132 VERSION_3_2_3(3, 2, 3), 133 134 /** Version 3.2.4 released on April, 12th 2017. */ 135 VERSION_3_2_4(3, 2, 4), 136 137 /** Version 3.2.5 released on April, 19th 2017. */ 138 VERSION_3_2_5(3, 2, 5), 139 140 /** Version 3.2.6 released on April, 26th 2017. */ 141 VERSION_3_2_6(3, 2, 6), 142 143 /** Released on May 10, 2017. */ 144 VERSION_3_2_7(3, 2, 7), 145 146 /** Released April 26, 2017. */ 147 VERSION_3_3_0(3, 3, 0), 148 149 /** Released May 3, 2017. */ 150 VERSION_3_3_1(3, 3, 1), 151 152 /** Released May 10, 2017. */ 153 VERSION_3_3_2(3, 3, 2), 154 155 /** Released May 17, 2017. */ 156 VERSION_3_3_3(3, 3, 3), 157 158 /** Released May 24, 2017. */ 159 VERSION_3_3_4(3, 3, 4), 160 161 /** Released May 31, 2017. */ 162 VERSION_3_3_5(3, 3, 5), 163 164 /** Released June 6, 2017. */ 165 VERSION_3_4_0(3, 4, 0), 166 167 /** Released June 13, 2017. */ 168 VERSION_3_4_1(3, 4, 1), 169 170 /** Released June 27, 2017. */ 171 VERSION_3_4_2(3, 4, 2), 172 173 /** Released June 28, 2017. */ 174 VERSION_3_4_3(3, 4, 3), 175 176 /** Released June 30, 2017. */ 177 VERSION_3_4_4(3, 4, 4), 178 179 /** Released July 4, 2017. */ 180 VERSION_3_4_5(3, 4, 5), 181 182 /** Released July 6, 2017. */ 183 VERSION_3_4_6(3, 4, 6), 184 185 /** Released July 11, 2017. */ 186 VERSION_3_4_7(3, 4, 7), 187 188 /** Released July 18, 2017. */ 189 VERSION_3_4_8(3, 4, 8), 190 191 /** Released July 25, 2017. */ 192 VERSION_3_4_9(3, 4, 9), 193 194 /** Released August 1, 2017. */ 195 VERSION_3_4_10(3, 4, 10), 196 197 /** Released July 18, 2017. */ 198 VERSION_3_5_0(3, 5, 0), 199 200 /** Released July 24, 2017. */ 201 VERSION_3_5_1(3, 5, 1), 202 203 /** Released August 1, 2017. */ 204 VERSION_3_5_2(3, 5, 2), 205 206 /** Released August 7, 2017. */ 207 VERSION_3_5_3(3, 5, 3), 208 209 /** Released August 16, 2017. */ 210 VERSION_3_5_4(3, 5, 4), 211 212 /** Released August 22, 2017. */ 213 VERSION_3_5_5(3, 5, 5), 214 215 /** Released August 25, 2017. */ 216 VERSION_3_5_6(3, 5, 6), 217 218 /** Released August 29, 2017 */ 219 VERSION_3_6_0(3, 6, 0), 220 221 /** Released September 25, 2017 */ 222 VERSION_3_6_1(3, 6, 1), 223 224 /** Release October 10, 2017 */ 225 VERSION_3_6_2(3, 6, 2), 226 227 /** Released October 10, 2017 */ 228 VERSION_3_7_0(3, 7, 0), 229 230 /** Released October 12, 2017 */ 231 VERSION_3_7_1(3, 7, 1), 232 233 /** Released October 20, 2017 */ 234 VERSION_3_7_2(3, 7, 2), 235 236 /** Released November 3, 2017 */ 237 VERSION_3_7_3(3, 7, 3), 238 239 /** Released November 16, 2017 */ 240 VERSION_3_7_4(3, 7, 4), 241 242 /** Released November 28, 2017 */ 243 VERSION_3_7_5(3, 7, 5), 244 245 /** Released November 29, 2017 */ 246 VERSION_3_7_6(3, 7, 6), 247 248 /** Released November 21, 2017 */ 249 VERSION_3_8_0(3, 8, 0), 250 251 /** Released November 30, 2017 */ 252 VERSION_3_8_1(3, 8, 1), 253 254 /** Released December 6, 2017 */ 255 VERSION_3_8_2(3, 8, 2), 256 257 /** Released December 12, 2017 */ 258 VERSION_3_8_3(3, 8, 3), 259 260 /** Released December 19, 2017 */ 261 VERSION_3_8_4(3, 8, 4), 262 263 /** Released February 6, 2018 */ 264 VERSION_3_8_5(3, 8, 5), 265 266 /** Released February 13, 2018 */ 267 VERSION_3_8_6(3, 8, 6), 268 269 /** Released January 9, 2018 */ 270 VERSION_3_9_0(3, 9, 0), 271 272 /** Released January 16, 2018 */ 273 VERSION_3_9_1(3, 9, 1), 274 275 /** Released January 25, 2018 */ 276 VERSION_3_9_2(3, 9, 2), 277 278 /** Released February 6, 2018 */ 279 VERSION_3_9_3(3, 9, 3), 280 281 /** Released February 13, 2018 */ 282 VERSION_3_9_4(3, 9, 4), 283 284 /** Released February 20, 2018 */ 285 VERSION_3_9_5(3, 9, 5), 286 287 /** Released March 7, 2018 */ 288 VERSION_3_9_6(3, 9, 6), 289 290 /** Released February 13, 2018 */ 291 VERSION_4_0_0(4, 0, 0), 292 293 /** Released February 20, 2018 */ 294 VERSION_4_0_1(4, 0, 1), 295 296 /** Released February 27, 2018 */ 297 VERSION_4_0_2(4, 0, 2), 298 299 /** Released March 7, 2018 */ 300 VERSION_4_0_3(4, 0, 3), 301 302 /** Released March 20, 2018 */ 303 VERSION_4_0_4(4, 0, 4), 304 305 /** Released March 28, 2018 */ 306 VERSION_4_0_5(4, 0, 5), 307 308 /** Released April 5, 2018 */ 309 VERSION_4_1_0(4, 1, 0), 310 311 /** Released April 11, 2018 */ 312 VERSION_4_1_1(4, 1, 1), 313 314 /** Released April 17, 2018 */ 315 VERSION_4_1_2(4, 1, 2), 316 317 /** Released April 26, 2018 */ 318 VERSION_4_1_3(4, 1, 3), 319 320 /** Released May 8, 2018 */ 321 VERSION_4_1_4(4, 1, 4), 322 323 /** Released May 29, 2018 */ 324 VERSION_4_1_5(4, 1, 5), 325 326 /** Released May 14, 2018 */ 327 VERSION_4_2_0(4, 2, 0), 328 329 /** Released May 22, 2018 */ 330 VERSION_4_2_1(4, 2, 1), 331 332 /** Released May 29, 2018 */ 333 VERSION_4_2_2(4, 2, 2), 334 335 /** Released June 5, 2018 */ 336 VERSION_4_2_3(4, 2, 3), 337 338 /** Released June 12, 2018 */ 339 VERSION_4_2_4(4, 2, 4), 340 341 /** Released June 20, 2018 */ 342 VERSION_4_2_5(4, 2, 5), 343 344 /** Released June 26, 2018 */ 345 VERSION_4_2_6(4, 2, 6), 346 347 /** Released June 29, 2018 */ 348 VERSION_4_2_7(4, 2, 7), 349 350 /** Released July 17, 2018 */ 351 VERSION_4_2_8(4, 2, 8), 352 353 /** Released June 26, 2018 */ 354 VERSION_4_3_0(4, 3, 0), 355 356 /** Released June 29, 2018 */ 357 VERSION_4_3_1(4, 3, 1), 358 359 /** Released July 3, 2018 */ 360 VERSION_4_3_2(4, 3, 2), 361 362 /** Released July 10, 2018 */ 363 VERSION_4_3_3(4, 3, 3), 364 365 /** Released July 17, 2018 */ 366 VERSION_4_3_4(4, 3, 4), 367 368 /** Released July 24, 2018 */ 369 VERSION_4_3_5(4, 3, 5), 370 371 /** Released July 31, 2018 */ 372 VERSION_4_3_6(4, 3, 6), 373 374 /** Released July 31, 2018 */ 375 VERSION_4_4_0(4, 4, 0), 376 377 /** Released August 7, 2018 */ 378 VERSION_4_4_1(4, 4, 1), 379 380 /** Released August 14, 2018 */ 381 VERSION_4_4_2(4, 4, 2), 382 383 /** Released August 28, 2018 */ 384 VERSION_4_4_3(4, 4, 3), 385 386 /** Released August 31, 2018 */ 387 VERSION_4_4_4(4, 4, 4), 388 389 /** Released September 4, 2018 */ 390 VERSION_4_4_5(4, 4, 5), 391 392 /** Released September 11, 2018 */ 393 VERSION_4_4_6(4, 4, 6), 394 395 /** Released September 20, 2018 */ 396 VERSION_4_4_7(4, 4, 7), 397 398 /** Released October 1, 2018 */ 399 VERSION_4_4_8(4, 4, 8), 400 401 /** Released September 11, 2018 */ 402 VERSION_4_5_0(4, 5, 0), 403 404 /** Released September 18, 2018 */ 405 VERSION_4_5_1(4, 5, 1), 406 407 /** Released September 20, 2018 */ 408 VERSION_4_5_2(4, 5, 2), 409 410 /** Released September 25, 2018 */ 411 VERSION_4_5_3(4, 5, 3), 412 413 /** Released September 26, 2018 */ 414 VERSION_4_5_4(4, 5, 4), 415 416 /** Released October 1, 2018 */ 417 VERSION_4_5_5(4, 5, 5), 418 419 /** Released October 9, 2018 */ 420 VERSION_4_5_6(4, 5, 6), 421 422 /** Released October 16, 2018 */ 423 VERSION_4_5_7(4, 5, 7), 424 425 /** Released October 30, 2018 */ 426 VERSION_4_5_8(4, 5, 8), 427 428 /** Released November 20, 2018 */ 429 VERSION_4_5_9(4, 5, 9), 430 431 /** Released October 23, 2018 */ 432 VERSION_4_6_0(4, 6, 0), 433 434 /** Released October 30, 2018 */ 435 VERSION_4_6_1(4, 6, 1), 436 437 /** Released November 5, 2018 */ 438 VERSION_4_6_2(4, 6, 2), 439 440 /** Released November 20, 2018 */ 441 VERSION_4_6_3(4, 6, 3), 442 443 /** Released November 27, 2018 */ 444 VERSION_4_6_4(4, 6, 4), 445 446 /** Released December 4, 2018 */ 447 VERSION_4_6_5(4, 6, 5), 448 449 /** Released December 11, 2018 */ 450 VERSION_4_6_6(4, 6, 6), 451 452 /** Released January 8, 2019 */ 453 VERSION_4_6_7(4, 6, 7), 454 455 /** Released April 2, 2019 */ 456 VERSION_4_6_8(4, 6, 8), 457 458 /** Released December 4, 2018 */ 459 VERSION_4_7_0(4, 7, 0), 460 461 /** Released December 11, 2018 */ 462 VERSION_4_7_1(4, 7, 1), 463 464 /** Released December 18, 2018 */ 465 VERSION_4_7_2(4, 7, 2), 466 467 /** Released January 8, 2019 */ 468 VERSION_4_7_3(4, 7, 3), 469 470 /** Released January 15, 2019 */ 471 VERSION_4_7_4(4, 7, 4), 472 473 /** Released January 22, 2019 */ 474 VERSION_4_7_5(4, 7, 5), 475 476 /** Released January 29, 2019 */ 477 VERSION_4_7_6(4, 7, 6), 478 479 /** Released February 19, 2019 */ 480 VERSION_4_7_7(4, 7, 7), 481 482 /** Released January 29, 2019 */ 483 VERSION_4_8_0(4, 8, 0), 484 485 /** Released February 5, 2019 */ 486 VERSION_4_8_1(4, 8, 1), 487 488 /** Version 4.8.2 released February 12, 2019 */ 489 VERSION_4_8_2(4, 8, 2), 490 491 /** Version 4.8.3 released February 19, 2019 */ 492 VERSION_4_8_3(4, 8, 3), 493 494 /** Version 4.8.4 released February 26, 2019 */ 495 VERSION_4_8_4(4, 8, 4), 496 497 /** Version 4.8.5 released March 5, 2019 */ 498 VERSION_4_8_5(4, 8, 5), 499 500 /** Version 4.8.6 released March 12, 2019 */ 501 VERSION_4_8_6(4, 8, 6), 502 503 /** Version 4.8.7 released March 19, 2019 */ 504 VERSION_4_8_7(4, 8, 7), 505 506 /** Version 4.8.8 released April 2, 2019 */ 507 VERSION_4_8_8(4, 8, 8), 508 509 /** Version 4.9.0 released February 26, 2019 */ 510 VERSION_4_9_0(4, 9, 0), 511 512 /** Version 4.9.1 released February 27, 2019 */ 513 VERSION_4_9_1(4, 9, 1), 514 515 /** Version 4.9.2 released March 5, 2019 */ 516 VERSION_4_9_2(4, 9, 2), 517 518 /** Version 4.9.3 released March 7, 2019 */ 519 VERSION_4_9_3(4, 9, 3), 520 521 /** Version 4.9.4 released March 12, 2019 */ 522 VERSION_4_9_4(4, 9, 4), 523 524 /** Version 4.9.5 released March 19, 2019 */ 525 VERSION_4_9_5(4, 9, 5), 526 527 /** Version 4.9.6 released March 26, 2019 */ 528 VERSION_4_9_6(4, 9, 6), 529 530 /** Version 4.9.7 released April 2, 2019 */ 531 VERSION_4_9_7(4, 9, 7), 532 533 /** Version 4.9.8 released April 9, 2019 */ 534 VERSION_4_9_8(4, 9, 8), 535 536 /** Version 4.9.9 released April 15, 2019 */ 537 VERSION_4_9_9(4, 9, 9), 538 539 /** Version 4.9.10 released April 23, 2019 */ 540 VERSION_4_9_10(4, 9, 10), 541 542 /** Version 4.9.11 released April 30, 2019 */ 543 VERSION_4_9_11(4, 9, 11), 544 545 /** Version 4.9.12 released May 7, 2019 */ 546 VERSION_4_9_12(4, 9, 12), 547 548 /** Version 4.9.13 released May 21, 2019 */ 549 VERSION_4_9_13(4, 9, 13), 550 551 /** Version 5.0.0 released April 9, 2019 */ 552 VERSION_5_0_0(5, 0, 0), 553 554 /** Version 5.0.1 released April 15, 2019 */ 555 VERSION_5_0_1(5, 0, 1), 556 557 /** Version 5.0.2 released April 23, 2019 */ 558 VERSION_5_0_2(5, 0, 2), 559 560 /** Version 5.0.3 released April 30, 2019 */ 561 VERSION_5_0_3(5, 0, 3), 562 563 /** Version 5.0.4 released May 7, 2019 */ 564 VERSION_5_0_4(5, 0, 4), 565 566 /** Version 5.0.4 released May 14, 2019 */ 567 VERSION_5_0_5(5, 0, 5), 568 569 /** Version 5.0.6 released May 21, 2019 */ 570 VERSION_5_0_6(5, 0, 6), 571 572 /** Version 5.0.7 released May 28, 2019 */ 573 VERSION_5_0_7(5, 0, 7), 574 575 /** Version 5.0.8 released June 4, 2019 */ 576 VERSION_5_0_8(5, 0, 8), 577 578 /** Version 5.0.9 released June 11, 2019 */ 579 VERSION_5_0_9(5, 0, 9), 580 581 /** Version 5.0.10 released June 18, 2019 */ 582 VERSION_5_0_10(5, 0, 10), 583 584 /** Version 5.0.11 released June 25, 2019 */ 585 VERSION_5_0_11(5, 0, 11), 586 587 /** Version 5.0.12 released July 9th, 2019 */ 588 VERSION_5_0_12(5, 0, 12), 589 590 /** Version 5.0.13 released July 16th, 2019 */ 591 VERSION_5_0_13(5, 0, 13), 592 593 /** Version 5.1.0 released May 21, 2019 */ 594 VERSION_5_1_0(5, 1, 0), 595 596 /** Version 5.1.1 released May 28, 2019 */ 597 VERSION_5_1_1(5, 1, 1), 598 599 /** Version 5.1.2 released June 4, 2019 */ 600 VERSION_5_1_2(5, 1, 2), 601 602 /** Version 5.1.3 released June 11, 2019 */ 603 VERSION_5_1_3(5, 1, 3), 604 605 /** Version 5.1.4 released June 18, 2019 */ 606 VERSION_5_1_4(5, 1, 4), 607 608 /** Version 5.1.5 released June 25, 2019 */ 609 VERSION_5_1_5(5, 1, 5), 610 611 /** Version 5.1.6 released July 2, 2019 */ 612 VERSION_5_1_6(5, 1, 6), 613 614 /** Version 5.1.7 released July 9, 2019 */ 615 VERSION_5_1_7(5, 1, 7), 616 617 /** Version 5.1.8 released July 16, 2019 */ 618 VERSION_5_1_8(5, 1, 8), 619 620 /** Version 5.1.9 released July 23, 2019 */ 621 VERSION_5_1_9(5, 1, 9), 622 623 /** Version 5.1.10 released July 30, 2019 */ 624 VERSION_5_1_10(5, 1, 10), 625 626 /** Version 5.1.11 released August 6, 2019 */ 627 VERSION_5_1_11(5, 1, 11), 628 629 /** Version 5.2.0 released July 2, 2019 */ 630 VERSION_5_2_0(5, 2, 0), 631 632 /** Version 5.2.1 released July 9, 2019 */ 633 VERSION_5_2_1(5, 2, 1), 634 635 /** Version 5.2.2 released July 16, 2019 */ 636 VERSION_5_2_2(5, 2, 2), 637 638 /** Version 5.2.3 released July 23, 2019 */ 639 VERSION_5_2_3(5, 2, 3), 640 641 /** Version 5.2.4 released July 30, 2019 */ 642 VERSION_5_2_4(5, 2, 4), 643 644 /** Version 5.2.5 released August 6, 2019 */ 645 VERSION_5_2_5(5, 2, 5), 646 647 /** Version 5.2.6 released August 13, 2019 */ 648 VERSION_5_2_6(5, 2, 6), 649 650 /** Version 5.2.7 released August 20, 2019 */ 651 VERSION_5_2_7(5, 2, 7), 652 653 /** Version 5.2.8 released August 27, 2019 */ 654 VERSION_5_2_8(5, 2, 8), 655 656 /** Version 5.2.9 released September 3, 2019 */ 657 VERSION_5_2_9(5, 2, 9), 658 659 /** Version 5.2.10 released September 10, 2019 */ 660 VERSION_5_2_10(5, 2, 10), 661 662 /** Version 5.2.11 released September 17, 2019 */ 663 VERSION_5_2_11(5, 2, 11), 664 665 /** Version 5.2.12 released September 24, 2019 */ 666 VERSION_5_2_12(5, 2, 12), 667 668 /** Version 5.2.13 released October 1, 2019 */ 669 VERSION_5_2_13(5, 2, 13), 670 671 /** Version 5.3.0 released August 13, 2019 */ 672 VERSION_5_3_0(5, 3, 0), 673 674 /** Version 5.3.1 released August 20, 2019 */ 675 VERSION_5_3_1(5, 3, 1), 676 677 /** Version 5.3.2 released August 27, 2019 */ 678 VERSION_5_3_2(5, 3, 2), 679 680 /** Version 5.3.3 released September 3, 2019 */ 681 VERSION_5_3_3(5, 3, 3), 682 683 /** Version 5.3.4 released September 10, 2019 */ 684 VERSION_5_3_4(5, 3, 4), 685 686 /** Version 5.3.5 released September 17, 2019 */ 687 VERSION_5_3_5(5, 3, 5), 688 689 /** Version 5.3.6 released September 24, 2019 */ 690 VERSION_5_3_6(5, 3, 6), 691 692 /** Version 5.3.7 released October 1, 2019 */ 693 VERSION_5_3_7(5, 3, 7), 694 695 /** Version 5.3.8 released October 8, 2019 */ 696 VERSION_5_3_8(5, 3, 8), 697 698 /** Version 5.3.9 released October 15, 2019 */ 699 VERSION_5_3_9(5, 3, 9), 700 701 /** Version 5.3.10 released October 22, 2019 */ 702 VERSION_5_3_10(5, 3, 10), 703 704 /** Version 5.3.11 released October 29, 2019 */ 705 VERSION_5_3_11(5, 3, 11), 706 707 /** Version 5.3.12 released November 5, 2019 */ 708 VERSION_5_3_12(5, 3, 12), 709 710 /** Version 5.3.13 released November 19, 2019 */ 711 VERSION_5_3_13(5, 3, 13), 712 713 /** Version 5.3.14 released November 26, 2019 */ 714 VERSION_5_3_14(5, 3, 14), 715 716 /** Version 5.4.0 released September 24, 2019 */ 717 VERSION_5_4_0(5, 4, 0), 718 719 /** Version 5.4.1 released October 1, 2019 */ 720 VERSION_5_4_1(5, 4, 1), 721 722 /** Version 5.4.2 released October 8, 2019 */ 723 VERSION_5_4_2(5, 4, 2), 724 725 /** Version 5.4.3 released October 15, 2019 */ 726 VERSION_5_4_3(5, 4, 3), 727 728 /** Version 5.4.4 released October 22, 2019 */ 729 VERSION_5_4_4(5, 4, 4), 730 731 /** Version 5.4.5 released October 29, 2019 */ 732 VERSION_5_4_5(5, 4, 5), 733 734 /** Version 5.4.6 released November 5, 2019 */ 735 VERSION_5_4_6(5, 4, 6), 736 737 /** Version 5.4.7 released November 12, 2019 */ 738 VERSION_5_4_7(5, 4, 7), 739 740 /** Version 5.4.8 released November 19, 2019 */ 741 VERSION_5_4_8(5, 4, 8), 742 743 /** Version 5.4.9 released November 26, 2019 */ 744 VERSION_5_4_9(5, 4, 9), 745 746 /** Version 5.4.10 released December 3, 2019 */ 747 VERSION_5_4_10(5, 4, 10), 748 749 /** Version 5.4.11 released January 14, 2019 */ 750 VERSION_5_4_11(5, 4, 11), 751 752 /** Version 5.5.0 released November 5, 2019 */ 753 VERSION_5_5_0(5, 5, 0), 754 755 /** Version 5.5.1 released November 12, 2019 */ 756 VERSION_5_5_1(5, 5, 1), 757 758 /** Version 5.5.2 released November 19, 2019 */ 759 VERSION_5_5_2(5, 5, 2), 760 761 /** Version 5.5.3 released November 26, 2019 */ 762 VERSION_5_5_3(5, 5, 3), 763 764 /** Version 5.5.4 released December 3, 2019 */ 765 VERSION_5_5_4(5, 5, 4), 766 767 /** Version 5.5.5 released December 10, 2019 */ 768 VERSION_5_5_5(5, 5, 5), 769 770 /** Version 5.5.6 released December 17, 2019 */ 771 VERSION_5_5_6(5, 5, 6), 772 773 /** Version 5.5.7 released January 7, 2020 */ 774 VERSION_5_5_7(5, 5, 7), 775 776 /** Version 5.5.8 released January 14, 2020 */ 777 VERSION_5_5_8(5, 5, 8), 778 779 /** Version 5.5.9 released January 21, 2020 */ 780 VERSION_5_5_9(5, 5, 9), 781 782 /** Version 5.5.10 released January 28, 2020 */ 783 VERSION_5_5_10(5, 5, 10), 784 785 /** Version 5.5.11 released February 4, 2020 */ 786 VERSION_5_5_11(5, 5, 11), 787 788 /** Version 5.5.12 released February 11, 2020 */ 789 VERSION_5_5_12(5, 5, 12), 790 791 /** Version 5.5.13 released March 3, 2020 */ 792 VERSION_5_5_13(5, 5, 13), 793 794 /** Version 5.6.0 released December 17, 2019 */ 795 VERSION_5_6_0(5, 6, 0), 796 797 /** Version 5.6.1 released January 7, 2020 */ 798 VERSION_5_6_1(5, 6, 1), 799 800 /** Version 5.6.2 released January 14, 2020 */ 801 VERSION_5_6_2(5, 6, 2), 802 803 /** Version 5.6.3 released January 21, 2020 */ 804 VERSION_5_6_3(5, 6, 3), 805 806 /** Version 5.6.4 released January 28, 2020 */ 807 VERSION_5_6_4(5, 6, 4), 808 809 /** Version 5.6.5 released February 4, 2020 */ 810 VERSION_5_6_5(5, 6, 5), 811 812 /** Version 5.6.6 released February 11, 2020 */ 813 VERSION_5_6_6(5, 6, 6), 814 815 /** Version 5.6.7 released February 18, 2020 */ 816 VERSION_5_6_7(5, 6, 7), 817 818 /** Version 5.6.8 released February 25, 2020 */ 819 VERSION_5_6_8(5, 6, 8), 820 821 /** Version 5.7.0 released January 28, 2020 */ 822 VERSION_5_7_0(5, 7, 0), 823 824 /** Version 5.7.1 released February 4, 2020 */ 825 VERSION_5_7_1(5, 7, 1), 826 827 /** Version 5.7.2 released February 11, 2020 */ 828 VERSION_5_7_2(5, 7, 2), 829 830 /** Version 5.7.3 released February 18, 2020 */ 831 VERSION_5_7_3(5, 7, 3), 832 833 /** Version 5.7.4 released February 25, 2020 */ 834 VERSION_5_7_4(5, 7, 4), 835 836 /** Version 5.7.5 released March 3, 2020 */ 837 VERSION_5_7_5(5, 7, 5), 838 839 /** Version 5.7.6 released March 10, 2020 */ 840 VERSION_5_7_6(5, 7, 6), 841 842 /** Version 5.7.0 released March 10, 2020 */ 843 VERSION_5_8_0(5, 8, 0); 844 845 /** 846 * The latest published version of Teamscale. This version is used in 847 * AnalysisProfileMigrationTest to ensure analysis profiles can be migrated. 848 * However as this test can and should only be added once the final release has 849 * been built this test only runs against the published versions. The 850 * unpublished versions are used during development to indicate that services 851 * will be available with the next, yet unpublished release. 852 */ 853 public static final ETeamscaleVersion PUBLISHED_VERSION = getCurrentPublishedVersion(); 854 855 /** The current version of Teamscale. */ 856 public static final ETeamscaleVersion CURRENT_VERSION = values()[values().length - 1]; 857 858 /** The minimum supported REST API version. */ 859 public static final ETeamscaleVersion MIN_SUPPORTED_API_VERSION = VERSION_5_7_0; 860 861 /** Returns the latest published version. */ 862 private static ETeamscaleVersion getCurrentPublishedVersion() { 863 return CollectionUtils.reverse(Arrays.asList(values())).stream().filter(version -> version.published) 864 .findFirst().get(); 865 } 866 867 /** The major version. */ 868 public final int major; 869 870 /** The minor version. */ 871 public final int minor; 872 873 /** The patch level. */ 874 public final int patch; 875 876 /** Whether the version is already published. */ 877 private final boolean published; 878 879 /** Constructor. */ 880 ETeamscaleVersion(int major, int minor, int patch) { 881 this(major, minor, patch, true); 882 } 883 884 ETeamscaleVersion(int major, int minor, int patch, boolean published) { 885 this.major = major; 886 this.minor = minor; 887 this.patch = patch; 888 this.published = published; 889 } 890 891 /** {@inheritDoc} */ 892 @Override 893 public String toString() { 894 String result = major + "." + minor; 895 if (patch > 0) { 896 result += "." + patch; 897 } 898 return result; 899 } 900 901 /** Creates a new teamscale version object from the given enum literal. */ 902 public Version toVersionObject() { 903 return new Version(major, minor, patch); 904 } 905 906 /** 907 * Returns the version as an integer metric by reserving two digits for each 908 * part. 909 */ 910 public int toMetric() { 911 return (major * 100 + minor) * 100 + patch; 912 } 913 914 /** 915 * Returns the next version after the current one or null if the current version 916 * is already the most recent version. 917 */ 918 public ETeamscaleVersion nextOrNull() { 919 if (ordinal() + 1 >= ETeamscaleVersion.values().length) { 920 return null; 921 } 922 return ETeamscaleVersion.values()[ordinal() + 1]; 923 } 924}