提交 8ca078ee 编写于 作者: N Nicolas De Loof

[FIXED JENKINS-11326] expose originalFileName as a (string) parameter

上级 a117dc00
......@@ -63,6 +63,9 @@ Upcoming changes</a>
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-11229">issue 11229</a>)
<li class=rfe>
Improved the classloading performance
<li class=rfe>
Expose original file name as a String parameter on for FileParameters
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-11326">issue 11326</a>)
</ul>
</div><!--=TRUNK-END=-->
......
......@@ -23,28 +23,30 @@
*/
package hudson.model;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import hudson.tasks.BuildWrapper;
import hudson.Launcher;
import hudson.EnvVars;
import hudson.FilePath;
import hudson.Launcher;
import hudson.tasks.BuildWrapper;
import hudson.util.VariableResolver;
import java.io.IOException;
import java.io.File;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
/**
* {@link ParameterValue} for {@link FileParameterDefinition}.
*
......@@ -86,6 +88,24 @@ public class FileParameterValue extends ParameterValue {
this.location = location;
}
/**
* Exposes the originalFileName as an environment variable.
*/
@Override
public void buildEnvVars(AbstractBuild<?,?> build, EnvVars env) {
env.put(name,originalFileName);
}
@Override
public VariableResolver<String> createVariableResolver(AbstractBuild<?, ?> build) {
return new VariableResolver<String>() {
public String resolve(String name) {
return FileParameterValue.this.name.equals(name) ? originalFileName : null;
}
};
}
/**
* Get the name of the originally uploaded file. If this
* {@link FileParameterValue} was created prior to 1.362, this method will
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册