add method to parse publish packages parameters
authorEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 12:03:26 +0000 (16:03 +0400)
committerEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 12:03:26 +0000 (16:03 +0400)
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetPublishParameters.java [new file with mode: 0644]
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/PackagesParametersFactory.java
nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/impl/PackagesParametersFactoryImpl.java

diff --git a/nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetPublishParameters.java b/nuget-agent/src/jetbrains/buildServer/nuget/agent/parameters/NuGetPublishParameters.java
new file mode 100644 (file)
index 0000000..3a7d40c
--- /dev/null
@@ -0,0 +1,40 @@
+/*\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
+import org.jetbrains.annotations.Nullable;\r
+\r
+import java.util.Collection;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 21.07.11 15:56\r
+ */\r
+public interface NuGetPublishParameters extends NuGetParameters {\r
+  @Nullable\r
+  String getPublishSource() throws RunBuildException;\r
+\r
+  @NotNull\r
+  String getApiKey() throws RunBuildException;\r
+\r
+  @NotNull\r
+  Collection<String> getFiles() throws RunBuildException;\r
+\r
+  boolean getCreateOnly();\r
+}\r
index 949615d0110fd8a2767ecfded89c93eb92a64277..4a044edfcd0f829ea3208b58f765c413e0197c22 100644 (file)
@@ -43,4 +43,8 @@ public interface PackagesParametersFactory {
   @Nullable\r
   PackagesUpdateParameters loadUpdatePackagesParameters(@NotNull final BuildRunnerContext context,\r
                                                         @NotNull final NuGetFetchParameters nuget) throws RunBuildException;\r
   @Nullable\r
   PackagesUpdateParameters loadUpdatePackagesParameters(@NotNull final BuildRunnerContext context,\r
                                                         @NotNull final NuGetFetchParameters nuget) throws RunBuildException;\r
+\r
+\r
+  @NotNull\r
+  NuGetPublishParameters loadPublishParameters(@NotNull final BuildRunnerContext context) throws RunBuildException;\r
 }\r
 }\r
index 31c55616e6b689796813dcb0d8e27e0afca2c667..8622db8608c571c3e9f74d25d1d3b4eedc64fa4a 100644 (file)
@@ -40,29 +40,14 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
   @NotNull\r
   public NuGetFetchParameters loadNuGetFetchParameters(@NotNull final BuildRunnerContext context) throws RunBuildException {\r
     return new NuGetFetchParameters() {\r
   @NotNull\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
-        if (StringUtil.isEmptyOrSpaces(path))\r
-          throw new RunBuildException("Runner parameter '" + runnerParameter + "' was not found");\r
-\r
-        File file = FileUtil.resolvePath(context.getBuild().getCheckoutDirectory(), path);\r
-        if (!file.exists()) {\r
-          throw new RunBuildException("Failed to find " + name + " at " + file);\r
-        }\r
-\r
-        return file;\r
-      }\r
-\r
-\r
       @NotNull\r
       public File getSolutionFile() throws RunBuildException {\r
       @NotNull\r
       public File getSolutionFile() throws RunBuildException {\r
-        return resolvePath(SLN_PATH, "Visual Studio .sln file");\r
+        return getFile(context, SLN_PATH, "Visual Studio .sln file");\r
       }\r
 \r
       @NotNull\r
       public File getNuGetExeFile() throws RunBuildException {\r
       }\r
 \r
       @NotNull\r
       public File getNuGetExeFile() throws RunBuildException {\r
-        return resolvePath(NUGET_PATH, "nuget.exe");\r
+        return getFile(context, NUGET_PATH, "nuget.exe");\r
       }\r
 \r
       @NotNull\r
       }\r
 \r
       @NotNull\r
@@ -76,6 +61,23 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
     };\r
   }\r
 \r
     };\r
   }\r
 \r
+  @NotNull\r
+  private File getFile(@NotNull final BuildRunnerContext context,\r
+                       @NotNull final String runnerParameter,\r
+                       @NotNull final String fileName) throws RunBuildException {\r
+    String path = getParameter(context, runnerParameter);\r
+    if (StringUtil.isEmptyOrSpaces(path))\r
+      throw new RunBuildException("Runner parameter '" + runnerParameter + "' was not found");\r
+\r
+    File file = FileUtil.resolvePath(context.getBuild().getCheckoutDirectory(), path);\r
+    if (!file.exists()) {\r
+      throw new RunBuildException("Failed to find " + fileName + " at " + file);\r
+    }\r
+\r
+    return file;\r
+  }\r
+\r
+\r
   private Collection<String> getMultilineParameter(BuildRunnerContext context, String nugetSources) {\r
     String sources = getParameter(context, nugetSources);\r
     if (sources == null) return Collections.emptyList();\r
   private Collection<String> getMultilineParameter(BuildRunnerContext context, String nugetSources) {\r
     String sources = getParameter(context, nugetSources);\r
     if (sources == null) return Collections.emptyList();\r
@@ -140,4 +142,32 @@ public class PackagesParametersFactoryImpl implements PackagesParametersFactory
       }\r
     };\r
   }\r
       }\r
     };\r
   }\r
+\r
+  @NotNull\r
+  public NuGetPublishParameters loadPublishParameters(@NotNull final BuildRunnerContext context) throws RunBuildException {\r
+    return new NuGetPublishParameters() {\r
+      public String getPublishSource() throws RunBuildException {\r
+        return getParameter(context, NUGET_PUBLISH_SOURCE);\r
+      }\r
+\r
+      @NotNull\r
+      public String getApiKey() throws RunBuildException {\r
+        return getParameter(context, NUGET_API_KEY);\r
+      }\r
+\r
+      @NotNull\r
+      public Collection<String> getFiles() throws RunBuildException {\r
+        return getMultilineParameter(context, NUGET_PUBLISH_FILES);\r
+      }\r
+\r
+      public boolean getCreateOnly() {\r
+        return getBoolean(context, NUGET_PUBLISH_CREATE_ONLY);\r
+      }\r
+\r
+      @NotNull\r
+      public File getNuGetExeFile() throws RunBuildException {\r
+        return getFile(context, NUGET_PATH, "nuget.exe");\r
+      }\r
+    };\r
+  }\r
 }\r
 }\r