// Copyright (C) 2015 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package com.googlesource.gerrit.plugins.manager;

public class GerritVersionBranch {
  private static final String GERRIT_NEXT_VERSION = "2.13";

  public static String getBranch(String gerritVersion) {
    if (gerritVersion == null || gerritVersion.trim().isEmpty()
        || !Character.isDigit(gerritVersion.trim().charAt(0))
        || gerritVersion.startsWith(GERRIT_NEXT_VERSION)) {
      return "master";
    }
    String[] versionNumbers = gerritVersion.split("\\.");

    if (versionNumbers.length > 2) {
      String fixVersionNumber = versionNumbers[2];
      if (fixVersionNumber.contains("-")) {
        String nextVersion =
            String.format("%s.%d", versionNumbers[0],
                Integer.parseInt(versionNumbers[1]) + 1);
        if (nextVersion.equals(GERRIT_NEXT_VERSION)) {
          return "master";
        }
      }
    }
    return "stable-" + versionNumbers[0] + "." + versionNumbers[1];
  }
}

@@ -747,9 +747,9 @@
 %222.1
-3
+5
 %22;%0A%0A
@@ -1077,16 +1077,165 @@
 (%22%5C%5C.%22);
+%0A    String major = versionNumbers%5B0%5D;%0A    String minor = versionNumbers%5B1%5D;%0A%0A    if (minor.contains(%22-%22)) %7B%0A      minor = minor.split(%22-%22)%5B0%5D;%0A    %7D
 %0A%0A    if
@@ -1603,24 +1603,25 @@
     %7D%0A    %7D%0A
+%0A
     return %22
@@ -1635,51 +1635,27 @@
 %22 + 
-versionNumbers%5B0%5D + %22.%22 + versionNumbers%5B1%5D
+major + %22.%22 + minor
 ;%0A  

Fix computation of the target branch on CI