<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>\r
<jsp:useBean id="ib" class="jetbrains.buildServer.nuget.server.trigger.TriggerBean" scope="request"/>\r
\r
+<tr>\r
+ <td>NuGet path:<l:star/></td>\r
+ <td>\r
+ <props:textProperty name="${ib.nuGetExeKey}" style="width:20em;" />\r
+ <span class="smallNote">Specify path to NuGet.exe </span>\r
+ <span class="error" id="error_${ib.sourceKey}"></span>\r
+ </td>\r
+</tr>\r
+\r
<tr>\r
<td>NuGet package source:<l:star/></td>\r
<td>\r
import org.jetbrains.annotations.NotNull;\r
import org.jetbrains.annotations.Nullable;\r
\r
+import java.io.File;\r
import java.util.ArrayList;\r
import java.util.Collection;\r
import java.util.List;\r
\r
@NotNull\r
public Collection<PackageInfo> checkForChanges(\r
+ @NotNull final File nugetPath,\r
@NotNull final String source,\r
@NotNull final String packageId,\r
@Nullable final String versionSpec) {\r
cmd.add(versionSpec);\r
}\r
\r
- return myExec.executeNuGet(cmd, new ListPackagesCommandProcessor(source));\r
+ return myExec.executeNuGet(nugetPath, cmd, new ListPackagesCommandProcessor(source));\r
}\r
\r
}\r
\r
import org.jetbrains.annotations.NotNull;\r
\r
+import java.io.File;\r
import java.util.List;\r
\r
/**\r
*/\r
public interface NuGetExecutor {\r
@NotNull\r
- <T> T executeNuGet(@NotNull List<String> arguments,\r
+ <T> T executeNuGet(@NotNull File nugetExePath,\r
+ @NotNull List<String> arguments,\r
@NotNull NuGetOutputProcessor<T> listener);\r
}\r
}\r
\r
@NotNull\r
- public <T> T executeNuGet(@NotNull final List<String> arguments,\r
+ public <T> T executeNuGet(@NotNull final File nugetExePath,\r
+ @NotNull final List<String> arguments,\r
@NotNull final NuGetOutputProcessor<T> listener) {\r
\r
GeneralCommandLine cmd = new GeneralCommandLine();\r
cmd.setExePath(getNuGetRunnerPath().getPath());\r
+ cmd.addParameter(nugetExePath.getPath());\r
cmd.addParameters(arguments);\r
\r
if (LOG.isDebugEnabled()) {\r
import jetbrains.buildServer.serverSide.CustomDataStorage;\r
import org.jetbrains.annotations.NotNull;\r
\r
+import java.io.File;\r
import java.util.*;\r
\r
/**\r
\r
public BuildStartReason checkChanges(@NotNull BuildTriggerDescriptor descriptor,\r
@NotNull CustomDataStorage storage) throws BuildTriggerException {\r
+ final String path = descriptor.getProperties().get(TriggerConstants.NUGET_EXE);\r
final String pkgId = descriptor.getProperties().get(TriggerConstants.PACKAGE);\r
final String version = descriptor.getProperties().get(TriggerConstants.VERSION);\r
final String source = descriptor.getProperties().get(TriggerConstants.SOURCE);\r
- Collection<PackageInfo> result = myCommand.checkForChanges(source, pkgId, version);\r
+\r
+ Collection<PackageInfo> result = myCommand.checkForChanges(new File(path), source, pkgId, version);\r
final String hash = serializeHashcode(result);\r
\r
String oldHash = storage.getValue(KEY);\r
* Date: 12.07.11 14:56\r
*/\r
public class TriggerBean {\r
+ public String getNuGetExeKey() { return TriggerConstants.NUGET_EXE; }\r
public String getSourceKey() { return TriggerConstants.SOURCE; }\r
public String getPackageKey() { return TriggerConstants.PACKAGE; }\r
public String getVersionKey() { return TriggerConstants.VERSION; }\r
public interface TriggerConstants {\r
public static final String TRIGGER_ID = "nuget.simple";\r
\r
+ //TODO: use same extensions as for psexec and handle\r
+ public static final String NUGET_EXE = "nuget.exe";\r
public static final String SOURCE = "nuget.source";\r
public static final String PACKAGE = "nuget.package";\r
public static final String VERSION = "nuget.version";\r
package jetbrains.buildServer.nuget.tests.server;\r
\r
import jetbrains.buildServer.BaseTestCase;\r
-import jetbrains.buildServer.nuget.server.exec.*;\r
+import jetbrains.buildServer.nuget.server.exec.ListPackagesCommand;\r
+import jetbrains.buildServer.nuget.server.exec.ListPackagesCommandProcessor;\r
+import jetbrains.buildServer.nuget.server.exec.NuGetExecutor;\r
+import jetbrains.buildServer.nuget.server.exec.PackageInfo;\r
import org.jmock.Expectations;\r
import org.jmock.Mockery;\r
import org.testng.annotations.BeforeMethod;\r
import org.testng.annotations.Test;\r
\r
+import java.io.File;\r
import java.util.*;\r
\r
/**\r
private NuGetExecutor exec;\r
private ListPackagesCommand cmd;\r
\r
-\r
@BeforeMethod\r
@Override\r
protected void setUp() throws Exception {\r
private void allowCommandLineCall(final String... cmd) {\r
final List<String> list = new ArrayList<String>(Arrays.<String>asList(cmd));\r
m.checking(new Expectations(){{\r
- oneOf(exec).executeNuGet(with(equal(list)), with(any(ListPackagesCommandProcessor.class)));\r
+ oneOf(exec).executeNuGet(with(any(File.class)), with(equal(list)), with(any(ListPackagesCommandProcessor.class)));\r
will(returnValue(Collections.<PackageInfo>emptyList()));\r
}});\r
}\r
"package"\r
);\r
\r
- Collection<PackageInfo> infos = cmd.checkForChanges("source", "package", null);\r
-\r
-\r
+ cmd.checkForChanges(new File("nuget"), "source", "package", null);\r
m.assertIsSatisfied();\r
}\r
\r
"version"\r
);\r
\r
- Collection<PackageInfo> infos = cmd.checkForChanges("source", "package", "version");\r
-\r
+ cmd.checkForChanges(new File("nuget"), "source", "package", "version");\r
m.assertIsSatisfied();\r
}\r
}\r