|
|
@@ -139,21 +139,47 @@ func (v KafkaVersion) IsAtLeast(other KafkaVersion) bool {
|
|
|
|
|
|
// Effective constants defining the supported kafka versions.
|
|
|
var (
|
|
|
- V0_8_2_0 = newKafkaVersion(0, 8, 2, 0)
|
|
|
- V0_8_2_1 = newKafkaVersion(0, 8, 2, 1)
|
|
|
- V0_8_2_2 = newKafkaVersion(0, 8, 2, 2)
|
|
|
- V0_9_0_0 = newKafkaVersion(0, 9, 0, 0)
|
|
|
- V0_9_0_1 = newKafkaVersion(0, 9, 0, 1)
|
|
|
- V0_10_0_0 = newKafkaVersion(0, 10, 0, 0)
|
|
|
- V0_10_0_1 = newKafkaVersion(0, 10, 0, 1)
|
|
|
- V0_10_1_0 = newKafkaVersion(0, 10, 1, 0)
|
|
|
- V0_10_2_0 = newKafkaVersion(0, 10, 2, 0)
|
|
|
- V0_11_0_0 = newKafkaVersion(0, 11, 0, 0)
|
|
|
- V1_0_0_0 = newKafkaVersion(1, 0, 0, 0)
|
|
|
- minVersion = V0_8_2_0
|
|
|
+ V0_8_2_0 = newKafkaVersion(0, 8, 2, 0)
|
|
|
+ V0_8_2_1 = newKafkaVersion(0, 8, 2, 1)
|
|
|
+ V0_8_2_2 = newKafkaVersion(0, 8, 2, 2)
|
|
|
+ V0_9_0_0 = newKafkaVersion(0, 9, 0, 0)
|
|
|
+ V0_9_0_1 = newKafkaVersion(0, 9, 0, 1)
|
|
|
+ V0_10_0_0 = newKafkaVersion(0, 10, 0, 0)
|
|
|
+ V0_10_0_1 = newKafkaVersion(0, 10, 0, 1)
|
|
|
+ V0_10_1_0 = newKafkaVersion(0, 10, 1, 0)
|
|
|
+ V0_10_1_1 = newKafkaVersion(0, 10, 1, 1)
|
|
|
+ V0_10_2_0 = newKafkaVersion(0, 10, 2, 0)
|
|
|
+ V0_10_2_1 = newKafkaVersion(0, 10, 2, 1)
|
|
|
+ V0_11_0_0 = newKafkaVersion(0, 11, 0, 0)
|
|
|
+ V0_11_0_1 = newKafkaVersion(0, 11, 0, 1)
|
|
|
+ V0_11_0_2 = newKafkaVersion(0, 11, 0, 2)
|
|
|
+ V1_0_0_0 = newKafkaVersion(1, 0, 0, 0)
|
|
|
+
|
|
|
+ SupportedVersions = []KafkaVersion{
|
|
|
+ V0_8_2_0,
|
|
|
+ V0_8_2_1,
|
|
|
+ V0_8_2_2,
|
|
|
+ V0_9_0_0,
|
|
|
+ V0_9_0_1,
|
|
|
+ V0_10_0_0,
|
|
|
+ V0_10_0_1,
|
|
|
+ V0_10_1_0,
|
|
|
+ V0_10_1_1,
|
|
|
+ V0_10_2_0,
|
|
|
+ V0_10_2_1,
|
|
|
+ V0_11_0_0,
|
|
|
+ V0_11_0_1,
|
|
|
+ V0_11_0_2,
|
|
|
+ V1_0_0_0,
|
|
|
+ }
|
|
|
+ MinVersion = V0_8_2_0
|
|
|
+ MaxVersion = V1_0_0_0
|
|
|
)
|
|
|
|
|
|
func ParseKafkaVersion(s string) (KafkaVersion, error) {
|
|
|
+ if len(s) < 5 {
|
|
|
+ return MinVersion, fmt.Errorf("invalid version `%s`", s)
|
|
|
+ }
|
|
|
var major, minor, veryMinor, patch uint
|
|
|
var err error
|
|
|
if s[0] == '0' {
|
|
|
@@ -162,7 +188,7 @@ func ParseKafkaVersion(s string) (KafkaVersion, error) {
|
|
|
err = scanKafkaVersion(s, `^\d+\.\d+\.\d+$`, "%d.%d.%d", [3]*uint{&major, &minor, &veryMinor})
|
|
|
}
|
|
|
if err != nil {
|
|
|
- return minVersion, err
|
|
|
+ return MinVersion, err
|
|
|
}
|
|
|
return newKafkaVersion(major, minor, veryMinor, patch), nil
|
|
|
}
|