import jetbrains.buildServer.nuget.server.toolRegistry.NuGetTool;\r
import jetbrains.buildServer.util.CollectionsUtil;\r
import jetbrains.buildServer.util.Converter;\r
+import jetbrains.buildServer.util.filters.Filter;\r
import org.jetbrains.annotations.NotNull;\r
\r
import java.io.IOException;\r
public Collection<NuGetTool> getAvailable() {\r
try {\r
final Collection<FeedPackage> packages = myReader.queryPackageVersions(FeedConstants.FEED_URL, FeedConstants.NUGET_COMMANDLINE);\r
- return CollectionsUtil.convertCollection(\r
+ return CollectionsUtil.filterAndConvertCollection(\r
packages,\r
new Converter<NuGetTool, FeedPackage>() {\r
public NuGetTool createFrom(@NotNull FeedPackage source) {\r
return new InstallableTool(source);\r
}\r
+ },\r
+ new Filter<FeedPackage>() {\r
+ public boolean accept(@NotNull FeedPackage data) {\r
+ final String[] version = data.getInfo().getVersion().split("\\.");\r
+ if (version.length < 2) return false;\r
+ int major = parse(version[0]);\r
+ if (major < 1) return false;\r
+\r
+ int minor = parse(version[1]);\r
+ if (minor < 4) return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ private int parse(String s) {\r
+ try {\r
+ return Integer.parseInt(s.trim());\r
+ } catch (Exception e) {\r
+ return -1;\r
+ }\r
+ }\r
}\r
- );\r
+ );\r
\r
} catch (IOException e) {\r
e.printStackTrace();\r