private static IEnumerable Extensions()

in nuget-extensions/nuget-runner/src/Program.cs [85:129]


    private static IEnumerable<string> Extensions(NuGetRunner runner)
    {
      Func<string, string> path = p => Path.Combine(typeof (Program).GetAssemblyDirectory(), "plugins-" + p, "JetBrains.TeamCity.NuGet.ExtendedCommands." + p + ".dll");

      if (runner.NuGetVersion.Major >= 5 && runner.NuGetVersion.Minor >= 8)
      {
        yield return path("5.8");
      }
      else if (runner.NuGetVersion.Major >= 4 && runner.NuGetVersion.Minor >= 0)
      {
        yield return path("4.0");
      }
      else if (runner.NuGetVersion.Major >= 3 && runner.NuGetVersion.Minor >= 5)
      {
        yield return path("3.5");
      }
      else if (runner.NuGetVersion.Major >= 3 && runner.NuGetVersion.Minor >= 3)
      {
        yield return path("3.3");
      }
      else if (runner.NuGetVersion.Major >= 3 && runner.NuGetVersion.Minor >= 2)
      {
        yield return path("3.2");
      }
      else if (runner.NuGetVersion.Major >= 2 && runner.NuGetVersion.Minor >= 8 && runner.NuGetVersion.Build >= 60717) // from 2.8.6
      {
        yield return path("2.8.6");
      }
      else if (runner.NuGetVersion.Major >= 2 && runner.NuGetVersion.Minor >= 8) // to 2.8.5
      {
        yield return path("2.8");
      }
      else if (runner.NuGetVersion.Major >= 2 && runner.NuGetVersion.Minor >= 5)
      {
        yield return path("2.5");
      }
      else if (runner.NuGetVersion.Major >= 2)
      {
        yield return path("2.0");
      }
      else
      {
        yield return path("1.4");
      }
    }