提交 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; package hudson;
import java.io.File; import java.io.File;
import java.util.HashMap; import java.io.Serializable;
import java.util.Map; import java.util.Map;
import java.util.TreeMap;
import java.util.Comparator;
/** /**
* Environment variables. * Environment variables.
...@@ -17,13 +19,15 @@ import java.util.Map; ...@@ -17,13 +19,15 @@ import java.util.Map;
* *
* @author Kohsuke Kawaguchi * @author Kohsuke Kawaguchi
*/ */
public class EnvVars extends HashMap<String,String> { public class EnvVars extends TreeMap<String,String> {
public EnvVars() { public EnvVars() {
super(CASE_INSENSITIVE_COMPARATOR);
} }
public EnvVars(Map<String,String> m) { 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> { ...@@ -61,4 +65,16 @@ public class EnvVars extends HashMap<String,String> {
* Environmental variables that we've inherited. * Environmental variables that we've inherited.
*/ */
public static final Map<String,String> masterEnvVars = System.getenv(); 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; ...@@ -2,6 +2,7 @@ package hudson.model;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import hudson.CloseProofOutputStream; import hudson.CloseProofOutputStream;
import hudson.EnvVars;
import hudson.ExtensionPoint; import hudson.ExtensionPoint;
import hudson.FeedAdapter; import hudson.FeedAdapter;
import hudson.FilePath; import hudson.FilePath;
...@@ -30,7 +31,6 @@ import java.io.IOException; ...@@ -30,7 +31,6 @@ import java.io.IOException;
import java.io.PrintStream; import java.io.PrintStream;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.Writer; import java.io.Writer;
import java.io.Serializable;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -929,7 +929,7 @@ public abstract class Run <JobT extends Job<JobT,RunT>,RunT extends Run<JobT,Run ...@@ -929,7 +929,7 @@ public abstract class Run <JobT extends Job<JobT,RunT>,RunT extends Run<JobT,Run
* *
*/ */
public Map<String,String> getEnvVars() { 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_NUMBER",String.valueOf(number));
env.put("BUILD_ID",getId()); env.put("BUILD_ID",getId());
env.put("BUILD_TAG","hudson-"+getParent().getName()+"-"+number); 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 ...@@ -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 getUrlName() { return null; }
public String getWhyKeepLog() { return Run.this.getWhyKeepLog(); } 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 @@ ...@@ -8,7 +8,7 @@
</f:entry> </f:entry>
<f:entry title="Local module directory (optional)" help="/help/subversion/local.html"> <f:entry title="Local module directory (optional)" help="/help/subversion/local.html">
<f:textbox name="svn.location_local" value="${loc.local}" <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>
<f:entry> <f:entry>
<div align="right"> <div align="right">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册