\r
import java.io.File;\r
import java.util.Collection;\r
+import java.util.Collections;\r
\r
/**\r
* Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
context,\r
program,\r
argz,\r
- workingDir\r
+ workingDir,\r
+ Collections.<String, String>emptyMap()\r
);\r
}\r
};\r
\r
import java.io.File;\r
import java.util.Collection;\r
+import java.util.Map;\r
\r
/**\r
* Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
BuildProcess executeCommandLine(@NotNull BuildRunnerContext hostContext,\r
@NotNull File program,\r
@NotNull Collection<String> argz,\r
- @NotNull File workingDir) throws RunBuildException;\r
+ @NotNull File workingDir,\r
+ @NotNull Map<String, String> additionalEnvironment) throws RunBuildException;\r
}\r
\r
import java.io.File;\r
import java.util.Collection;\r
+import java.util.Map;\r
\r
/**\r
* Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
public BuildProcess executeCommandLine(@NotNull BuildRunnerContext hostContext,\r
@NotNull File program,\r
@NotNull Collection<String> argz,\r
- @NotNull File workingDir) throws RunBuildException {\r
+ @NotNull File workingDir,\r
+ @NotNull final Map<String, String> additionalEnvironment) throws RunBuildException {\r
BuildRunnerContext context = myFacade.createBuildRunnerContext(\r
hostContext.getBuild(),\r
SimpleRunnerConstants.TYPE,\r
hostContext\r
);\r
\r
+ for (Map.Entry<String, String> entry : additionalEnvironment.entrySet()) {\r
+ context.addEnvironmentVariable(entry.getKey(), entry.getValue());\r
+ }\r
+\r
context.addRunnerParameter(SimpleRunnerConstants.COMMAND_EXECUTABLE, program.getPath());\r
context.addRunnerParameter(SimpleRunnerConstants.COMMAND_PARAMETERS, joinCommandLineArguments(argz));\r
\r
ctx,\r
nuget,\r
Arrays.asList("install", myConfig.getPath(), "-OutputDirectory", myTarget.getPath()),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
ctx,\r
nuget,\r
Arrays.asList("install", myConfig.getPath(), "-ExcludeVersion", "-OutputDirectory", myTarget.getPath()),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
ctx,\r
nuget,\r
Arrays.asList("install", myConfig.getPath(), "-OutputDirectory", myTarget.getPath(), "-Source", "aaa", "-Source", "bbb"),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
import java.util.ArrayList;\r
import java.util.Arrays;\r
import java.util.Collection;\r
+import java.util.Collections;\r
\r
/**\r
* @author Eugene Petrenko (eugene.petrenko@gmail.com)\r
oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet,\r
Arrays.asList(\r
"pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Verbose", "-Version", "45.239.32.12")\r
- , myWorkingDir);\r
+ , myWorkingDir,\r
+ Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPack(ctx, myPackParameters);\r
oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet,\r
Arrays.asList(\r
"pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Verbose", "-Version", "45.239.32.12", "-Properties", "p1=p2", "-Properties", "p3=p24")\r
- , myWorkingDir);\r
+ , myWorkingDir,\r
+ Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPack(ctx, myPackParameters);\r
oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet,\r
Arrays.asList(\r
"pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Verbose", "-Version", "45.239.32.12", "arg1", "arg2")\r
- , myWorkingDir);\r
+ , myWorkingDir,\r
+ Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPack(ctx, myPackParameters);\r
oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet,\r
Arrays.asList(\r
"pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Verbose", "-Version", "45.239.32.12", "-Exclude", "aaa", "-Exclude", "d/v/de")\r
- , myWorkingDir);\r
+ , myWorkingDir,\r
+ Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPack(ctx, myPackParameters);\r
oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet,\r
Arrays.asList(\r
"pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Verbose", "-Version", "45.239.32.12", "-Tool")\r
- , myWorkingDir);\r
+ , myWorkingDir,\r
+ Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPack(ctx, myPackParameters);\r
oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet,\r
Arrays.asList(\r
"pack", myFile.getPath(), "-OutputDirectory", myOut.getPath(), "-BasePath", myRoot.getPath(), "-Verbose", "-Version", "45.239.32.12", "-Symbols")\r
- , myWorkingDir);\r
+ , myWorkingDir,\r
+ Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPack(ctx, myPackParameters);\r
\r
import java.io.File;\r
import java.util.Arrays;\r
+import java.util.Collections;\r
\r
/**\r
* Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
allowing(ps).getPublishSource(); will(returnValue("push-feed"));\r
allowing(ps).getCreateOnly(); will(returnValue(false));\r
\r
- oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid", "-Source", "push-feed"), myFile.getParentFile());\r
+ oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid", "-Source", "push-feed"), myFile.getParentFile(),Collections.<String, String>emptyMap()\r
+ );\r
}});\r
\r
i.createPush(ctx, ps, myFile);\r
allowing(ps).getPublishSource(); will(returnValue(null));\r
allowing(ps).getCreateOnly(); will(returnValue(false));\r
\r
- oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid"), myFile.getParentFile());\r
+ oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid"), myFile.getParentFile(), Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPush(ctx, ps, myFile);\r
allowing(ps).getPublishSource(); will(returnValue("push-feed"));\r
allowing(ps).getCreateOnly(); will(returnValue(true));\r
\r
- oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid", "-CreateOnly", "-Source", "push-feed"), myFile.getParentFile());\r
+ oneOf(myProcessFactory).executeCommandLine(ctx, myNuGet, Arrays.asList("push", myFile.getPath(), "api-key-guid", "-CreateOnly", "-Source", "push-feed"), myFile.getParentFile(), Collections.<String, String>emptyMap());\r
}});\r
\r
i.createPush(ctx, ps, myFile);\r
ctx,\r
nuget,\r
Arrays.asList("update", myConfig.getPath(), "-Verbose", "-RepositoryPath", myTarget.getPath()),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
ctx,\r
nuget,\r
Arrays.asList("update", myConfig.getPath(), "-Verbose", "-RepositoryPath", myTarget.getPath(), "-Id", "aaa", "-Id", "bbb"),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
ctx,\r
nuget,\r
Arrays.asList("update", myConfig.getPath(), "-Safe", "-Verbose", "-RepositoryPath", myTarget.getPath()),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
ctx,\r
nuget,\r
Arrays.asList("update", myConfig.getPath(), "-Verbose", "-RepositoryPath", myTarget.getPath(), "-Source", "aaa", "-Source", "bbb"),\r
- myConfig.getParentFile()\r
+ myConfig.getParentFile(),\r
+ Collections.<String, String>emptyMap()\r
);\r
}});\r
\r
m.assertIsSatisfied();\r
}\r
\r
-\r
}\r
\r
import java.io.File;\r
import java.util.Collection;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
\r
/**\r
* Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
public BuildProcess executeCommandLine(@NotNull final BuildRunnerContext hostContext,\r
@NotNull final File program,\r
@NotNull final Collection<String> argz,\r
- @NotNull final File workingDir) throws RunBuildException {\r
+ @NotNull final File workingDir,\r
+ @NotNull final Map<String, String> additionalEnvironment) throws RunBuildException {\r
return new BuildProcessBase() {\r
@NotNull\r
@Override\r
}\r
cmd.setWorkingDirectory(workingDir);\r
\r
+ Map<String, String> env = new HashMap<String, String>();\r
+ env.putAll(System.getenv());\r
+ env.putAll(additionalEnvironment);\r
+ cmd.setEnvParams(env);\r
+\r
System.out.println("Run: " + cmd.getCommandLineString());\r
\r
ExecResult result = SimpleCommandLineProcessRunner.runCommand(cmd, new byte[0]);\r