show available nuget versions
[teamcity/dotNetPackagesSupport.git] / nuget-server / src / jetbrains / buildServer / nuget / server / toolRegistry / NuGetToolManager.java
1 /*\r
2  * Copyright 2000-2011 JetBrains s.r.o.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  * http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package jetbrains.buildServer.nuget.server.toolRegistry;\r
18 \r
19 import org.jetbrains.annotations.NotNull;\r
20 \r
21 import java.util.Collection;\r
22 \r
23 /**\r
24  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
25  * Date: 10.08.11 20:22\r
26  */\r
27 public interface NuGetToolManager {\r
28   /**\r
29    * @return list of installed nuget tools\r
30    */\r
31   @NotNull\r
32   Collection<NuGetInstalledTool> getInstalledTools();\r
33 \r
34   /**\r
35    * @return list of tools that are installing now\r
36    */\r
37   @NotNull\r
38   Collection<NuGetInstallingTool> getInstallingTool();\r
39 \r
40   /**\r
41    * @return fetches the full list of available and supported nuget tools\r
42    */\r
43   @NotNull\r
44   Collection<NuGetTool> getAvailableTools();\r
45 \r
46   /**\r
47    * Downloads and installs nuget tools for both server and agent\r
48    * @param tool tool to download\r
49    * @param progress callback for showing messages\r
50    */\r
51   void installTool(@NotNull NuGetTool tool, @NotNull ActionProgress progress);\r
52 }\r