Merge branch 'v0.3-bugfix'
authorEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 15:51:43 +0000 (19:51 +0400)
committerEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 15:51:43 +0000 (19:51 +0400)
20 files changed:
nuget-agent/src/META-INF/build-agent-plugin-nuget.xml
nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/CommandFactory.java [new file with mode: 0644]
nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/impl/CommandFactoryImpl.java [new file with mode: 0644]
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/LocateNuGetConfigBuildProcess.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/NuGetActionFactory.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/PackagesInstallerRunner.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/impl/LoggingNuGetActionFactoryImpl.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/install/impl/NuGetActionFactoryImpl.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetFetchParameters.java [new file with mode: 0644]
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetFetchParametersHolder.java [moved from nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParametersHolder.java with 87% similarity]
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesInstallParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesParametersFactory.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesUpdateParameters.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/impl/PackagesParametersFactoryImpl.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/LocateNuGetConfigBuildProcessTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/NuGetInstallPackageActionFactoryTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/NuGetUpdatePackageActionFactoryTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/PackagesInstallerBuilderTest.java
nuget-tests/src/jetbrains/buildServer/nuget/tests/integration/InstallPackageIntegtatoinTest.java

index 433fa93abba7e11a69623ebc0483bfc9f3eb3ded..89f7ef3bb04788787cbc32d8353be9fd3e41aa56 100644 (file)
@@ -13,6 +13,7 @@
   <bean class="jetbrains.buildServer.nuget.agent.install.PackagesInstallerRunner"/>\r
   <bean class="jetbrains.buildServer.nuget.agent.install.PackagesInstallerRunnerRegistrar"/>\r
 \r
+  <bean class="jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl"/>\r
   <bean class="jetbrains.buildServer.nuget.agent.install.impl.LoggingNuGetActionFactoryImpl">\r
     <constructor-arg>\r
       <bean class="jetbrains.buildServer.nuget.agent.install.impl.NuGetActionFactoryImpl"/>\r
diff --git a/nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/CommandFactory.java b/nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/CommandFactory.java
new file mode 100644 (file)
index 0000000..ecabe9e
--- /dev/null
@@ -0,0 +1,59 @@
+/*\r
+ * Copyright 2000-2011 JetBrains s.r.o.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package jetbrains.buildServer.nuget.agent.commands;\r
+\r
+import jetbrains.buildServer.RunBuildException;\r
+import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
+import org.jetbrains.annotations.NotNull;\r
+\r
+import java.io.File;\r
+import java.util.Collection;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 21.07.11 16:07\r
+ */\r
+public interface CommandFactory {\r
+\r
+  @NotNull\r
+  <T> T createInstall(@NotNull PackagesInstallParameters params,\r
+                      @NotNull File packagesConfig,\r
+                      @NotNull File targetFolder,\r
+                      @NotNull Callback<T> factory) throws RunBuildException;\r
+\r
+  @NotNull\r
+  <T> T createUpdate(@NotNull PackagesUpdateParameters params,\r
+                     @NotNull File packagesConfig,\r
+                     @NotNull File targetFolder,\r
+                     @NotNull Callback<T> factory) throws RunBuildException;\r
+\r
+  public interface Callback<T> {\r
+    /**\r
+     * Called with generated arguments to crate execurable instance or run command\r
+     * @param program program to run\r
+     * @param workingDir working firectory of program\r
+     * @param argz arguments array\r
+     * @return some result object depending of caller's desire\r
+     * @throws RunBuildException if failed to create/execure command\r
+     */\r
+    @NotNull\r
+    T createCommand(@NotNull File program,\r
+                    @NotNull final File workingDir,\r
+                    @NotNull Collection<String> argz) throws RunBuildException;\r
+  }\r
+}\r
diff --git a/nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/impl/CommandFactoryImpl.java b/nuget-agent/src/jetbrains/buildServer/nuget/agent/commands/impl/CommandFactoryImpl.java
new file mode 100644 (file)
index 0000000..1b078d0
--- /dev/null
@@ -0,0 +1,90 @@
+/*\r
+ * Copyright 2000-2011 JetBrains s.r.o.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package jetbrains.buildServer.nuget.agent.commands.impl;\r
+\r
+import jetbrains.buildServer.RunBuildException;\r
+import jetbrains.buildServer.nuget.agent.commands.CommandFactory;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
+import jetbrains.buildServer.util.FileUtil;\r
+import org.jetbrains.annotations.NotNull;\r
+\r
+import java.io.File;\r
+import java.util.ArrayList;\r
+import java.util.Collection;\r
+import java.util.List;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 21.07.11 16:10\r
+ */\r
+public class CommandFactoryImpl implements CommandFactory {\r
+\r
+  @NotNull\r
+  public <T> T createInstall(@NotNull PackagesInstallParameters params, @NotNull File packagesConfig, @NotNull File targetFolder, @NotNull Callback<T> factory) throws RunBuildException {\r
+    final List<String> argz = new ArrayList<String>();\r
+    argz.add("install");\r
+    argz.add(FileUtil.getCanonicalFile(packagesConfig).getPath()); //path to package\r
+    if (params.getExcludeVersion()) {\r
+      argz.add("-ExcludeVersion");\r
+    }\r
+    argz.add("-OutputDirectory");\r
+    argz.add(FileUtil.getCanonicalFile(targetFolder).getPath());\r
+\r
+    return executeNuGet(params.getNuGetParameters(), argz, packagesConfig.getParentFile(), factory);\r
+  }\r
+\r
+  @NotNull\r
+  public <T> T createUpdate(@NotNull PackagesUpdateParameters params, @NotNull File packagesConfig, @NotNull File targetFolder, @NotNull Callback<T> factory) throws RunBuildException {\r
+    final List<String> argz = new ArrayList<String>();\r
+    argz.add("update");\r
+    argz.add(FileUtil.getCanonicalFile(packagesConfig).getPath()); //path to package\r
+    if (params.getUseSafeUpdate()) {\r
+      argz.add("-Safe");\r
+    }\r
+    argz.add("-Verbose");\r
+    argz.add("-RepositoryPath");\r
+    argz.add(FileUtil.getCanonicalFile(targetFolder).getPath());\r
+\r
+    for (String id : params.getPackagesToUpdate()) {\r
+      argz.add("-Id");\r
+      argz.add(id);\r
+    }\r
+\r
+    return executeNuGet(params.getNuGetParameters(), argz, packagesConfig.getParentFile(), factory);\r
+  }\r
+\r
+  @NotNull\r
+  private <T> T executeNuGet(@NotNull final NuGetFetchParameters nuget,\r
+                             @NotNull final Collection<String> arguments,\r
+                             @NotNull final File workingDir,\r
+                             @NotNull final Callback<T> factory) throws RunBuildException {\r
+    final List<String> argz = new ArrayList<String>(arguments);\r
+    for (String source : nuget.getNuGetPackageSources()) {\r
+      argz.add("-Source");\r
+      argz.add(source);\r
+    }\r
+\r
+    return factory.createCommand(\r
+            nuget.getNuGetExeFile(),\r
+            workingDir,\r
+            argz\r
+    );\r
+  }\r
+\r
+}\r
index a047ce9e20c38f33f642adf9bc1f48214d8c14ee..352332a1fb497a38813f2795f1d41dc726bb543e 100644 (file)
@@ -20,7 +20,7 @@ import com.intellij.openapi.diagnostic.Logger;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildFinishedStatus;\r
 import jetbrains.buildServer.agent.BuildProgressLogger;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.util.BuildProcessBase;\r
 import jetbrains.buildServer.util.FileUtil;\r
 import jetbrains.buildServer.util.StringUtil;\r
@@ -41,11 +41,11 @@ import java.util.List;
 public class LocateNuGetConfigBuildProcess extends BuildProcessBase {\r
   private static final Logger LOG = Logger.getInstance(LocateNuGetConfigBuildProcess.class.getName());\r
 \r
-  private final NuGetParameters myContext;\r
+  private final NuGetFetchParameters myContext;\r
   private final BuildProgressLogger myLogger;\r
   private final Callback myCallback;\r
 \r
-  public LocateNuGetConfigBuildProcess(@NotNull final NuGetParameters context,\r
+  public LocateNuGetConfigBuildProcess(@NotNull final NuGetFetchParameters context,\r
                                        @NotNull final BuildProgressLogger logger,\r
                                        @NotNull final Callback callback) {\r
     myContext = context;\r
index 94bb7dee3409f5c0a3b69582360dfd222814edf7..7bee209fe93d794bca92be3f3a3fff982da68359 100644 (file)
@@ -19,7 +19,7 @@ package jetbrains.buildServer.nuget.agent.install;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildProcess;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import org.jetbrains.annotations.NotNull;\r
@@ -45,7 +45,7 @@ public interface NuGetActionFactory {
 \r
   @NotNull\r
   BuildProcess createUsageReport(@NotNull BuildRunnerContext context,\r
-                                 @NotNull NuGetParameters params,\r
+                                 @NotNull NuGetFetchParameters params,\r
                                  @NotNull File packagesConfig,\r
                                  @NotNull File targetFolder) throws RunBuildException;\r
 }\r
index 6c5c07a5d816304bbf3f60ab0effaaf944971583..c677035000f70c849288b7ffe7f615c8947e810a 100644 (file)
@@ -22,7 +22,7 @@ import jetbrains.buildServer.agent.*;
 import jetbrains.buildServer.nuget.agent.install.impl.InstallStages;\r
 import jetbrains.buildServer.nuget.agent.install.impl.InstallStagesImpl;\r
 import jetbrains.buildServer.nuget.agent.install.impl.PackagesInstallerBuilder;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesParametersFactory;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
@@ -58,7 +58,7 @@ public class PackagesInstallerRunner implements AgentBuildRunner, AgentBuildRunn
 \r
   private void createStages(@NotNull final BuildRunnerContext context,\r
                             @NotNull final InstallStages stages) throws RunBuildException {\r
-    final NuGetParameters parameters = myParametersFactory.loadNuGetParameters(context);\r
+    final NuGetFetchParameters parameters = myParametersFactory.loadNuGetFetchParameters(context);\r
     final PackagesInstallParameters installParameters = myParametersFactory.loadInstallPackagesParameters(context, parameters);\r
     final PackagesUpdateParameters updateParameters = myParametersFactory.loadUpdatePackagesParameters(context, parameters);\r
 \r
index 04812bb5c6bea5242fac63701355c6bc3fcadd35..eadaad4c317349b4a284d9d0dc1416fa808a0c13 100644 (file)
@@ -21,7 +21,7 @@ import jetbrains.buildServer.agent.BuildProcess;
 import jetbrains.buildServer.agent.BuildProgressLogger;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
 import jetbrains.buildServer.nuget.agent.install.NuGetActionFactory;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.nuget.agent.util.DelegatingBuildProcess;\r
@@ -42,7 +42,7 @@ public class LoggingNuGetActionFactoryImpl implements NuGetActionFactory {
   }\r
 \r
   @NotNull\r
-  public BuildProcess createUsageReport(@NotNull BuildRunnerContext context, @NotNull NuGetParameters params, @NotNull File packagesConfig, @NotNull File targetFolder) throws RunBuildException {\r
+  public BuildProcess createUsageReport(@NotNull BuildRunnerContext context, @NotNull NuGetFetchParameters params, @NotNull File packagesConfig, @NotNull File targetFolder) throws RunBuildException {\r
     return myActionFactory.createUsageReport(context, params, packagesConfig, targetFolder);\r
   }\r
 \r
index 640a7f7189ce666b27eb1c14adcdfbac168199be..68ea9002db28e4b016f1c056e9c243d70215653e 100644 (file)
@@ -21,20 +21,18 @@ import jetbrains.buildServer.RunBuildException;
 import jetbrains.buildServer.agent.BuildFinishedStatus;\r
 import jetbrains.buildServer.agent.BuildProcess;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
+import jetbrains.buildServer.nuget.agent.commands.CommandFactory;\r
 import jetbrains.buildServer.nuget.agent.install.NuGetActionFactory;\r
 import jetbrains.buildServer.nuget.agent.install.PackageUsages;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.nuget.agent.util.BuildProcessBase;\r
 import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
-import jetbrains.buildServer.util.FileUtil;\r
 import org.jetbrains.annotations.NotNull;\r
 \r
 import java.io.File;\r
-import java.util.ArrayList;\r
 import java.util.Collection;\r
-import java.util.List;\r
 \r
 /**\r
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
@@ -43,13 +41,32 @@ import java.util.List;
 public class NuGetActionFactoryImpl implements NuGetActionFactory {\r
   private static final Logger LOG = Logger.getInstance(NuGetActionFactoryImpl.class.getName());\r
 \r
+  private final CommandFactory myCommandFactory;\r
   private final CommandlineBuildProcessFactory myFactory;\r
   private final PackageUsages myPackageUsages;\r
 \r
   public NuGetActionFactoryImpl(@NotNull final CommandlineBuildProcessFactory factory,\r
-                                @NotNull final PackageUsages packageUsages) {\r
+                                @NotNull final PackageUsages packageUsages,\r
+                                @NotNull final CommandFactory commandFactory) {\r
     myFactory = factory;\r
     myPackageUsages = packageUsages;\r
+    myCommandFactory = commandFactory;\r
+  }\r
+\r
+  private CommandFactory.Callback<BuildProcess> getCallback(@NotNull final BuildRunnerContext context) {\r
+    return new CommandFactory.Callback<BuildProcess>() {\r
+      @NotNull\r
+      public BuildProcess createCommand(@NotNull File program,\r
+                                        @NotNull File workingDir,\r
+                                        @NotNull Collection<String> argz) throws RunBuildException {\r
+        return myFactory.executeCommandLine(\r
+                context,\r
+                program,\r
+                argz,\r
+                workingDir\r
+        );\r
+      }\r
+    };\r
   }\r
 \r
   @NotNull\r
@@ -57,16 +74,7 @@ public class NuGetActionFactoryImpl implements NuGetActionFactory {
                                     @NotNull final PackagesInstallParameters params,\r
                                     @NotNull final File packagesConfig,\r
                                     @NotNull final File targetFolder) throws RunBuildException {\r
-    final List<String> argz = new ArrayList<String>();\r
-    argz.add("install");\r
-    argz.add(FileUtil.getCanonicalFile(packagesConfig).getPath()); //path to package\r
-    if (params.getExcludeVersion()) {\r
-      argz.add("-ExcludeVersion");\r
-    }\r
-    argz.add("-OutputDirectory");\r
-    argz.add(FileUtil.getCanonicalFile(targetFolder).getPath());\r
-\r
-    return executeNuGet(context, params.getNuGetParameters(), argz, packagesConfig.getParentFile());\r
+    return myCommandFactory.createInstall(params, packagesConfig, targetFolder, getCallback(context));\r
   }\r
 \r
 \r
@@ -75,27 +83,12 @@ public class NuGetActionFactoryImpl implements NuGetActionFactory {
                                    @NotNull final PackagesUpdateParameters params,\r
                                    @NotNull final File packagesConfig,\r
                                    @NotNull final File targetFolder) throws RunBuildException {\r
-    final List<String> argz = new ArrayList<String>();\r
-    argz.add("update");\r
-    argz.add(FileUtil.getCanonicalFile(packagesConfig).getPath()); //path to package\r
-    if (params.getUseSafeUpdate()) {\r
-      argz.add("-Safe");\r
-    }\r
-    argz.add("-Verbose");\r
-    argz.add("-RepositoryPath");\r
-    argz.add(FileUtil.getCanonicalFile(targetFolder).getPath());\r
-\r
-    for (String id : params.getPackagesToUpdate()) {\r
-      argz.add("-Id");\r
-      argz.add(id);\r
-    }\r
-\r
-    return executeNuGet(context, params.getNuGetParameters(), argz, packagesConfig.getParentFile());\r
+    return myCommandFactory.createUpdate(params, packagesConfig, targetFolder, getCallback(context));\r
   }\r
 \r
   @NotNull\r
   public BuildProcess createUsageReport(@NotNull final BuildRunnerContext context,\r
-                                        @NotNull final NuGetParameters params,\r
+                                        @NotNull final NuGetFetchParameters params,\r
                                         @NotNull final File packagesConfig,\r
                                         @NotNull final File targetFolder) throws RunBuildException {\r
     return new BuildProcessBase() {\r
@@ -107,23 +100,4 @@ public class NuGetActionFactoryImpl implements NuGetActionFactory {
       }\r
     };\r
   }\r
-\r
-  @NotNull\r
-  private BuildProcess executeNuGet(@NotNull final BuildRunnerContext context,\r
-                                    @NotNull final NuGetParameters nuget,\r
-                                    @NotNull final Collection<String> arguments,\r
-                                    @NotNull final File workingDirectory) throws RunBuildException {\r
-    final List<String> argz = new ArrayList<String>(arguments);\r
-    for (String source : nuget.getNuGetPackageSources()) {\r
-      argz.add("-Source");\r
-      argz.add(source);\r
-    }\r
-\r
-    return myFactory.executeCommandLine(\r
-            context,\r
-            nuget.getNuGetExeFile(),\r
-            argz,\r
-            workingDirectory\r
-    );\r
-  }\r
 }\r
diff --git a/nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetFetchParameters.java b/nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetFetchParameters.java
new file mode 100644 (file)
index 0000000..afe6af0
--- /dev/null
@@ -0,0 +1,28 @@
+package jetbrains.buildServer.nuget.agent.parameters;\r
+\r
+import jetbrains.buildServer.RunBuildException;\r
+import org.jetbrains.annotations.NotNull;\r
+\r
+import java.io.File;\r
+import java.util.Collection;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 10.07.11 14:27\r
+ */\r
+public interface NuGetFetchParameters extends NuGetParameters {\r
+\r
+  /**\r
+   * @return collection of nuget sources to fetch packages\r
+   */\r
+  @NotNull\r
+  Collection<String> getNuGetPackageSources();\r
+\r
+  /**\r
+   * @return path to solution file.\r
+   * @throws jetbrains.buildServer.RunBuildException\r
+   *          if .sln file is not found\r
+   */\r
+  @NotNull\r
+  File getSolutionFile() throws RunBuildException;\r
+}\r
similarity index 87%
rename from nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetParametersHolder.java
rename to nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetFetchParametersHolder.java
index 66e2ac7e20d41e83adbf134710833913ea2a35aa..6e931c3e2779ce4e9948348344e7fec03c82bea3 100644 (file)
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull;
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
  * Date: 10.07.11 15:57\r
  */\r
-public interface NuGetParametersHolder {\r
+public interface NuGetFetchParametersHolder {\r
   @NotNull\r
-  NuGetParameters getNuGetParameters();\r
+  NuGetFetchParameters getNuGetParameters();\r
 }\r
index 771761f99217c75f01fa80272902718476edddbd..32ba62cbe6dfa70384a99f1dd61e83c7837cdcd5 100644 (file)
@@ -1,14 +1,29 @@
+/*\r
+ * Copyright 2000-2011 JetBrains s.r.o.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
 package jetbrains.buildServer.nuget.agent.parameters;\r
 \r
 import jetbrains.buildServer.RunBuildException;\r
 import org.jetbrains.annotations.NotNull;\r
 \r
 import java.io.File;\r
-import java.util.Collection;\r
 \r
 /**\r
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
- * Date: 10.07.11 14:27\r
+ * Date: 21.07.11 15:22\r
  */\r
 public interface NuGetParameters {\r
   /**\r
@@ -17,18 +32,4 @@ public interface NuGetParameters {
    */\r
   @NotNull\r
   File getNuGetExeFile() throws RunBuildException;\r
-\r
-  /**\r
-   * @return collection of nuget sources to fetch packages\r
-   */\r
-  @NotNull\r
-  Collection<String> getNuGetPackageSources();\r
-\r
-  /**\r
-   * @return path to solution file.\r
-   * @throws jetbrains.buildServer.RunBuildException\r
-   *          if .sln file is not found\r
-   */\r
-  @NotNull\r
-  File getSolutionFile() throws RunBuildException;\r
 }\r
index 2925e8c210a030be83eac4f027ac99a5c44a1ce6..561decf4b99f2bdb5a783b20a7a743029b6feac0 100644 (file)
@@ -20,7 +20,7 @@ package jetbrains.buildServer.nuget.agent.parameters;
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
  * Date: 07.07.11 16:18\r
  */\r
-public interface PackagesInstallParameters extends NuGetParametersHolder{\r
+public interface PackagesInstallParameters extends NuGetFetchParametersHolder {\r
   /**\r
    * @return true if pacakges are expected to be installed\r
    *         without version\r
index a5e9afc08ead318167e76dc11b9b211e71696b83..949615d0110fd8a2767ecfded89c93eb92a64277 100644 (file)
@@ -34,13 +34,13 @@ public interface PackagesParametersFactory {
    * @throws RunBuildException if failed to create parameters\r
    */\r
   @NotNull\r
-  NuGetParameters loadNuGetParameters(@NotNull final BuildRunnerContext context) throws RunBuildException;\r
+  NuGetFetchParameters loadNuGetFetchParameters(@NotNull final BuildRunnerContext context) throws RunBuildException;\r
 \r
   @Nullable\r
   PackagesInstallParameters loadInstallPackagesParameters(@NotNull final BuildRunnerContext context,\r
-                                                          @NotNull final NuGetParameters nuget) throws RunBuildException;\r
+                                                          @NotNull final NuGetFetchParameters nuget) throws RunBuildException;\r
 \r
   @Nullable\r
   PackagesUpdateParameters loadUpdatePackagesParameters(@NotNull final BuildRunnerContext context,\r
-                                                        @NotNull final NuGetParameters nuget) throws RunBuildException;\r
+                                                        @NotNull final NuGetFetchParameters nuget) throws RunBuildException;\r
 }\r
index e4e410865bba83314c57822cbec97a6f00fe428b..fca13827fc502fd558cd0033eef82e81f7dcdd00 100644 (file)
@@ -26,7 +26,7 @@ import java.util.Collection;
  * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
  * Date: 10.07.11 14:02\r
  */\r
-public interface PackagesUpdateParameters extends NuGetParametersHolder {\r
+public interface PackagesUpdateParameters extends NuGetFetchParametersHolder {\r
 \r
   /**\r
    * @return the way packages are updated\r
index 25290c07ab8e71ebda7307804af803c086c4bafe..31c55616e6b689796813dcb0d8e27e0afca2c667 100644 (file)
@@ -38,8 +38,8 @@ import static jetbrains.buildServer.nuget.common.PackagesConstants.*;
  */\r
 public class PackagesParametersFactoryImpl implements PackagesParametersFactory {\r
   @NotNull\r
-  public NuGetParameters loadNuGetParameters(@NotNull final BuildRunnerContext context) throws RunBuildException {\r
-    return new NuGetParameters() {\r
+  public NuGetFetchParameters loadNuGetFetchParameters(@NotNull final BuildRunnerContext context) throws RunBuildException {\r
+    return new NuGetFetchParameters() {\r
 \r
       private File resolvePath(@NotNull final String runnerParameter, @NotNull String name) throws RunBuildException {\r
         String path = getParameter(context, runnerParameter);\r
@@ -101,10 +101,10 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
 \r
 \r
   public PackagesInstallParameters loadInstallPackagesParameters(@NotNull final BuildRunnerContext context,\r
-                                                                 @NotNull final NuGetParameters nuget) throws RunBuildException {\r
+                                                                 @NotNull final NuGetFetchParameters nuget) throws RunBuildException {\r
     return new PackagesInstallParameters() {\r
       @NotNull\r
-      public NuGetParameters getNuGetParameters() {\r
+      public NuGetFetchParameters getNuGetParameters() {\r
         return nuget;\r
       }\r
 \r
@@ -115,12 +115,12 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
   }\r
 \r
   public PackagesUpdateParameters loadUpdatePackagesParameters(@NotNull final BuildRunnerContext context,\r
-                                                               @NotNull final NuGetParameters nuget) throws RunBuildException {\r
+                                                               @NotNull final NuGetFetchParameters nuget) throws RunBuildException {\r
     if (!getBoolean(context, NUGET_UPDATE_PACKAGES)) return null;\r
 \r
     return new PackagesUpdateParameters() {\r
       @NotNull\r
-      public NuGetParameters getNuGetParameters() {\r
+      public NuGetFetchParameters getNuGetParameters() {\r
         return nuget;\r
       }\r
 \r
index a0ed14cc6eebe29d277094a5d5925aa3b80c79fb..82dcab7a898456a339fe75a2f3e3c5b80927c39e 100644 (file)
@@ -20,7 +20,7 @@ import jetbrains.buildServer.RunBuildException;
 import jetbrains.buildServer.agent.BuildFinishedStatus;\r
 import jetbrains.buildServer.agent.BuildProgressLogger;\r
 import jetbrains.buildServer.nuget.agent.install.LocateNuGetConfigBuildProcess;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.tests.util.BuildProcessTestCase;\r
 import jetbrains.buildServer.util.FileUtil;\r
 import org.jmock.Expectations;\r
@@ -38,7 +38,7 @@ public class LocateNuGetConfigBuildProcessTest extends BuildProcessTestCase {
   private File myRoot;\r
   private Mockery m;\r
   private BuildProgressLogger log;\r
-  private NuGetParameters ps;\r
+  private NuGetFetchParameters ps;\r
   private LocateNuGetConfigBuildProcess.Callback cb;\r
   private LocateNuGetConfigBuildProcess proc;\r
 \r
@@ -49,7 +49,7 @@ public class LocateNuGetConfigBuildProcessTest extends BuildProcessTestCase {
     myRoot = createTempDir();\r
     m = new Mockery();\r
     log = m.mock(BuildProgressLogger.class);\r
-    ps = m.mock(NuGetParameters.class);\r
+    ps = m.mock(NuGetFetchParameters.class);\r
     cb = m.mock(LocateNuGetConfigBuildProcess.Callback.class);\r
     proc = new LocateNuGetConfigBuildProcess(ps, log, cb);\r
   }\r
index 86b8c059d4dc67bf1cdc09c37521521e28e3e20d..dc1edf856dd171ce24975c592dc9cbf0691161a5 100644 (file)
@@ -19,8 +19,9 @@ package jetbrains.buildServer.nuget.tests.agent;
 import jetbrains.buildServer.BaseTestCase;\r
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
+import jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.install.PackageUsages;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetActionFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
@@ -44,7 +45,7 @@ public class NuGetInstallPackageActionFactoryTest extends BaseTestCase {
   private NuGetActionFactoryImpl i;\r
   private BuildRunnerContext ctx;\r
   private PackagesInstallParameters ps;\r
-  private NuGetParameters nugetParams;\r
+  private NuGetFetchParameters nugetParams;\r
   private File myTarget;\r
   private File myConfig;\r
 \r
@@ -55,10 +56,10 @@ public class NuGetInstallPackageActionFactoryTest extends BaseTestCase {
     m = new Mockery();\r
     myProcessFactory = m.mock(CommandlineBuildProcessFactory.class);\r
     PackageUsages pu = m.mock(PackageUsages.class);\r
-    i = new NuGetActionFactoryImpl(myProcessFactory, pu);\r
+    i = new NuGetActionFactoryImpl(myProcessFactory, pu, new CommandFactoryImpl());\r
     ctx = m.mock(BuildRunnerContext.class);\r
     ps = m.mock(PackagesInstallParameters.class);\r
-    nugetParams = m.mock(NuGetParameters.class);\r
+    nugetParams = m.mock(NuGetFetchParameters.class);\r
 \r
     myTarget = createTempDir();\r
     myConfig = createTempFile();\r
index 2131a6abb4e744240eae9f547f249f8dd41e7950..4ac392cae6473d272920173ad53adec61431a505 100644 (file)
@@ -19,8 +19,9 @@ package jetbrains.buildServer.nuget.tests.agent;
 import jetbrains.buildServer.BaseTestCase;\r
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
+import jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.install.PackageUsages;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetActionFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.util.CommandlineBuildProcessFactory;\r
@@ -43,7 +44,7 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
   private CommandlineBuildProcessFactory myProcessFactory;\r
   private NuGetActionFactoryImpl i;\r
   private BuildRunnerContext ctx;\r
-  private NuGetParameters nugetParams;\r
+  private NuGetFetchParameters nugetParams;\r
   private PackagesUpdateParameters ps;\r
   private File myTarget;\r
   private File myConfig;\r
@@ -55,10 +56,10 @@ public class NuGetUpdatePackageActionFactoryTest extends BaseTestCase {
     m = new Mockery();\r
     myProcessFactory = m.mock(CommandlineBuildProcessFactory.class);\r
     PackageUsages pu = m.mock(PackageUsages.class);\r
-    i = new NuGetActionFactoryImpl(myProcessFactory, pu);\r
+    i = new NuGetActionFactoryImpl(myProcessFactory, pu, new CommandFactoryImpl());\r
     ctx = m.mock(BuildRunnerContext.class);\r
     ps = m.mock(PackagesUpdateParameters.class);\r
-    nugetParams = m.mock(NuGetParameters.class);\r
+    nugetParams = m.mock(NuGetFetchParameters.class);\r
 \r
     myTarget = createTempDir();\r
     myConfig = createTempFile();\r
index 233b621d1b79fb8ca410f2a32f618082504a2b54..48c2b03445f2519a0a6ed6e976199b4a020909cf 100644 (file)
@@ -23,7 +23,7 @@ import jetbrains.buildServer.agent.BuildRunnerContext;
 import jetbrains.buildServer.nuget.agent.install.NuGetActionFactory;\r
 import jetbrains.buildServer.nuget.agent.install.impl.InstallStages;\r
 import jetbrains.buildServer.nuget.agent.install.impl.PackagesInstallerBuilder;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
 import jetbrains.buildServer.nuget.agent.util.BuildProcessContinuation;\r
@@ -49,7 +49,7 @@ public class PackagesInstallerBuilderTest extends BaseTestCase {
   private BuildProcessContinuation postUpdate;\r
   private BuildProcessContinuation report;\r
   private BuildRunnerContext context;\r
-  private NuGetParameters nugetSettings;\r
+  private NuGetFetchParameters nugetSettings;\r
   private PackagesInstallParameters installParameters;\r
   private PackagesUpdateParameters updateParameters;\r
   private File myTaget;\r
@@ -77,7 +77,7 @@ public class PackagesInstallerBuilderTest extends BaseTestCase {
     context = m.mock(BuildRunnerContext.class);\r
     installParameters = m.mock(PackagesInstallParameters.class);\r
     updateParameters = m.mock(PackagesUpdateParameters.class);\r
-    nugetSettings = m.mock(NuGetParameters.class);\r
+    nugetSettings = m.mock(NuGetFetchParameters.class);\r
 \r
     final InstallStages is = m.mock(InstallStages.class);\r
     final BuildProcess reportProcess = m.mock(BuildProcess.class, "report process");\r
index 65eb4a905898399d2a5fe0d72c1495445de50693..434c7c2cabd30298f20e0b7edf9b9910daa41083 100644 (file)
@@ -21,13 +21,14 @@ import jetbrains.buildServer.ExecResult;
 import jetbrains.buildServer.RunBuildException;\r
 import jetbrains.buildServer.SimpleCommandLineProcessRunner;\r
 import jetbrains.buildServer.agent.*;\r
+import jetbrains.buildServer.nuget.agent.commands.impl.CommandFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.install.PackageUsages;\r
 import jetbrains.buildServer.nuget.agent.install.PackagesInstallerRunner;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetActionFactoryImpl;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetPackagesCollectorImpl;\r
 import jetbrains.buildServer.nuget.agent.install.impl.NuGetPackagesConfigParser;\r
 import jetbrains.buildServer.nuget.agent.install.impl.PackageUsagesImpl;\r
-import jetbrains.buildServer.nuget.agent.parameters.NuGetParameters;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetFetchParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesParametersFactory;\r
 import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
@@ -61,7 +62,7 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
   private PackagesParametersFactory myParametersFactory;\r
   private PackagesInstallParameters myInstall;\r
   private PackagesUpdateParameters myUpdate;\r
-  private NuGetParameters myNuGet;\r
+  private NuGetFetchParameters myNuGet;\r
   private BuildProcess myMockProcess;\r
 \r
   @BeforeMethod\r
@@ -77,7 +78,7 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
     myInstall = m.mock(PackagesInstallParameters.class);\r
     myUpdate = m.mock(PackagesUpdateParameters.class);\r
     myMockProcess = m.mock(BuildProcess.class);\r
-    myNuGet = m.mock(NuGetParameters.class);\r
+    myNuGet = m.mock(NuGetFetchParameters.class);\r
 \r
     m.checking(new Expectations() {{\r
       allowing(myContext).getBuild();\r
@@ -254,7 +255,7 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
                              @Nullable Collection<PackageInfo> detectedPackages) throws RunBuildException {\r
 \r
     m.checking(new Expectations() {{\r
-      allowing(myParametersFactory).loadNuGetParameters(myContext);\r
+      allowing(myParametersFactory).loadNuGetFetchParameters(myContext);\r
       will(returnValue(myNuGet));\r
       allowing(myParametersFactory).loadInstallPackagesParameters(myContext, myNuGet);\r
       will(returnValue(myInstall));\r
@@ -278,7 +279,7 @@ public class InstallPackageIntegtatoinTest extends BuildProcessTestCase {
     );\r
 \r
     BuildProcess proc = new PackagesInstallerRunner(\r
-            new NuGetActionFactoryImpl(executingFactory(), pu),\r
+            new NuGetActionFactoryImpl(executingFactory(), pu, new CommandFactoryImpl()),\r
             myParametersFactory\r
     ).createBuildProcess(myBuild, myContext);\r
 \r