提交 78b96c34 编写于 作者: K kohsuke

Fix for #968 was incomplete.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@5831 71c3de6d-444a-0410-be80-ed276b4c234a
上级 0578424c
package hudson;
import java.io.File;
import java.util.HashMap;
import java.io.Serializable;
import java.util.Map;
import java.util.TreeMap;
import java.util.Comparator;
/**
* Environment variables.
......@@ -17,13 +19,15 @@ import java.util.Map;
*
* @author Kohsuke Kawaguchi
*/
public class EnvVars extends HashMap<String,String> {
public class EnvVars extends TreeMap<String,String> {
public EnvVars() {
super(CASE_INSENSITIVE_COMPARATOR);
}
public EnvVars(Map<String,String> m) {
super(m);
super(CASE_INSENSITIVE_COMPARATOR);
putAll(m);
}
/**
......@@ -61,4 +65,16 @@ public class EnvVars extends HashMap<String,String> {
* Environmental variables that we've inherited.
*/
public static final Map<String,String> masterEnvVars = System.getenv();
/**
* Compares strings case insensitively.
*/
private static final Comparator<String> CASE_INSENSITIVE_COMPARATOR = new CaseInsensitiveComparator();
private static class CaseInsensitiveComparator implements Comparator<String>, Serializable {
public int compare(String lhs, String rhs) {
return lhs.compareToIgnoreCase(rhs);
}
private static final long serialVersionUID = 1L;
}
}
......@@ -2,6 +2,7 @@ package hudson.model;
import com.thoughtworks.xstream.XStream;
import hudson.CloseProofOutputStream;
import hudson.EnvVars;
import hudson.ExtensionPoint;
import hudson.FeedAdapter;
import hudson.FilePath;
......@@ -30,7 +31,6 @@ import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.Writer;
import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -929,7 +929,7 @@ public abstract class Run <JobT extends Job<JobT,RunT>,RunT extends Run<JobT,Run
*
*/
public Map<String,String> getEnvVars() {
Map<String,String> env = new TreeMap<String,String>(CASE_INSENSITIVE_COMPARATOR);
EnvVars env = new EnvVars();
env.put("BUILD_NUMBER",String.valueOf(number));
env.put("BUILD_ID",getId());
env.put("BUILD_TAG","hudson-"+getParent().getName()+"-"+number);
......@@ -1005,16 +1005,4 @@ public abstract class Run <JobT extends Job<JobT,RunT>,RunT extends Run<JobT,Run
public String getUrlName() { return null; }
public String getWhyKeepLog() { return Run.this.getWhyKeepLog(); }
}
/**
* Compares strings case insensitively.
*/
private static final Comparator<String> CASE_INSENSITIVE_COMPARATOR = new CaseInsensitiveComparator();
private static class CaseInsensitiveComparator implements Comparator<String>, Serializable {
public int compare(String lhs, String rhs) {
return lhs.compareToIgnoreCase(rhs);
}
private static final long serialVersionUID = 1L;
}
}
......@@ -8,7 +8,7 @@
</f:entry>
<f:entry title="Local module directory (optional)" help="/help/subversion/local.html">
<f:textbox name="svn.location_local" value="${loc.local}"
checkUrl="'${rootURL}/scm/SubversionSCM/svnLocalLocationCheck?value='+escape(this.value)"/>
checkUrl="'${rootURL}/scm/SubversionSCM/svnLocalLocationCheck?value='+escape(this.value)"/>
</f:entry>
<f:entry>
<div align="right">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册