diff --git a/core/src/main/java/hudson/EnvVars.java b/core/src/main/java/hudson/EnvVars.java index 65418a291d533fadfdf78d51888526edabea4760..3b87bd4f93339f0975e41d4150ad8a7d2e798622 100644 --- a/core/src/main/java/hudson/EnvVars.java +++ b/core/src/main/java/hudson/EnvVars.java @@ -1,8 +1,10 @@ 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 { +public class EnvVars extends TreeMap { public EnvVars() { + super(CASE_INSENSITIVE_COMPARATOR); } public EnvVars(Map m) { - super(m); + super(CASE_INSENSITIVE_COMPARATOR); + putAll(m); } /** @@ -61,4 +65,16 @@ public class EnvVars extends HashMap { * Environmental variables that we've inherited. */ public static final Map masterEnvVars = System.getenv(); + + /** + * Compares strings case insensitively. + */ + private static final Comparator CASE_INSENSITIVE_COMPARATOR = new CaseInsensitiveComparator(); + + private static class CaseInsensitiveComparator implements Comparator, Serializable { + public int compare(String lhs, String rhs) { + return lhs.compareToIgnoreCase(rhs); + } + private static final long serialVersionUID = 1L; + } } diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 23a7750b494c124dea6f1c165fd0b74eb847f64b..048dc8f9c66184f2be729cf12cb5c53386fc6e16 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -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 ,RunT extends Run getEnvVars() { - Map env = new TreeMap(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 ,RunT extends Run CASE_INSENSITIVE_COMPARATOR = new CaseInsensitiveComparator(); - - private static class CaseInsensitiveComparator implements Comparator, Serializable { - public int compare(String lhs, String rhs) { - return lhs.compareToIgnoreCase(rhs); - } - private static final long serialVersionUID = 1L; - } } diff --git a/core/src/main/resources/hudson/scm/SubversionSCM/config.jelly b/core/src/main/resources/hudson/scm/SubversionSCM/config.jelly index 68dd314d7084292b44e22e98dd5f5c77a5d28561..665753b3070de3bc3561a753c59b16d5784956cc 100644 --- a/core/src/main/resources/hudson/scm/SubversionSCM/config.jelly +++ b/core/src/main/resources/hudson/scm/SubversionSCM/config.jelly @@ -8,7 +8,7 @@ + checkUrl="'${rootURL}/scm/SubversionSCM/svnLocalLocationCheck?value='+escape(this.value)"/>