package jetbrains.buildServer.nuget.agent.commands;\r
\r
import jetbrains.buildServer.RunBuildException;\r
+import jetbrains.buildServer.nuget.agent.parameters.NuGetPublishParameters;\r
import jetbrains.buildServer.nuget.agent.parameters.PackagesInstallParameters;\r
import jetbrains.buildServer.nuget.agent.parameters.PackagesUpdateParameters;\r
import org.jetbrains.annotations.NotNull;\r
@NotNull File targetFolder,\r
@NotNull Callback<T> factory) throws RunBuildException;\r
\r
+ @NotNull\r
+ <T> T createPush(@NotNull NuGetPublishParameters params,\r
+ @NotNull File packagePath,\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
\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.nuget.agent.parameters.*;\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.Arrays;\r
import java.util.Collection;\r
import java.util.List;\r
\r
return executeNuGet(params.getNuGetParameters(), argz, packagesConfig.getParentFile(), factory);\r
}\r
\r
+ @NotNull\r
+ public <T> T createPush(@NotNull final NuGetPublishParameters params,\r
+ @NotNull final File packagePath,\r
+ @NotNull final Callback<T> factory) throws RunBuildException {\r
+ return executeNuGet(params, Arrays.asList(params.getPublishSource()),\r
+ Arrays.asList(\r
+ packagePath.getPath(),\r
+ params.getApiKey()\r
+ ),\r
+ packagePath.getParentFile(),\r
+ 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
+ return executeNuGet(nuget, nuget.getNuGetPackageSources(), arguments, workingDir, factory);\r
+ }\r
+\r
+ private <T> T executeNuGet(NuGetParameters nuget, Collection<String> sources, Collection<String> arguments, File workingDir, Callback<T> factory) throws RunBuildException {\r
final List<String> argz = new ArrayList<String>(arguments);\r
- for (String source : nuget.getNuGetPackageSources()) {\r
+ for (String source : sources) {\r
argz.add("-Source");\r
argz.add(source);\r
}\r