package hudson.plugins.powershell; import hudson.Extension; import hudson.FilePath; import hudson.model.AbstractProject; import hudson.tasks.BuildStepDescriptor; import hudson.tasks.Builder; import hudson.tasks.CommandInterpreter; import org.kohsuke.stapler.DataBoundConstructor; /** * Invokes Windows power shell from Hudson. * * @author Kohsuke Kawaguchi */ public class PowerShell extends CommandInterpreter { @DataBoundConstructor public PowerShell(String command) { super(command); } protected String getFileExtension() { return ".ps1"; } protected String[] buildCommandLine(FilePath script) { return new String[] { "powershell.exe","& \'"+script.getRemote()+"\'"}; } protected String getContents() { return command; } @Extension public static final class DescriptorImpl extends BuildStepDescriptor<Builder> { public boolean isApplicable(Class<? extends AbstractProject> jobType) { return true; } public String getDisplayName() { return "Windows PowerShell"; } } }