Merge "Fix linkification of URLs containing ampersands"
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
index e47e3df..a12e240 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
@@ -72,6 +72,17 @@
     }
   }
 
+  /**
+   * Put a value into a request's Soy data map.
+   *
+   * @param req in-progress request.
+   * @param key key.
+   * @param value Soy data value.
+   */
+  public static void putSoyData(HttpServletRequest req, String key, Object value) {
+    getData(req).put(key, value);
+  }
+
   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse res)
       throws IOException, ServletException {
@@ -160,21 +171,6 @@
   }
 
   /**
-   * Put a value into a request's Soy data map.
-   * <p>
-   * This method is intended to support a composition pattern whereby a
-   * {@link BaseServlet} is wrapped in a different {@link HttpServlet} that can
-   * update its data map.
-   *
-   * @param req in-progress request.
-   * @param key key.
-   * @param value Soy data value.
-   */
-  public void put(HttpServletRequest req, String key, Object value) {
-    getData(req).put(key, value);
-  }
-
-  /**
    * Render data to HTML using Soy.
    *
    * @param req in-progress request.
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DefaultUrls.java b/gitiles-servlet/src/main/java/com/google/gitiles/DefaultUrls.java
index 83c5436..7218a4b 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/DefaultUrls.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/DefaultUrls.java
@@ -27,12 +27,12 @@
  * This implementation uses statically-configured defaults, and thus assumes
  * that the servlet is running a single virtual host.
  */
-class DefaultUrls implements GitilesUrls {
+public class DefaultUrls implements GitilesUrls {
   private final String canonicalHostName;
   private final String baseGitUrl;
   private final String baseGerritUrl;
 
-  DefaultUrls(String canonicalHostName, String baseGitUrl, String baseGerritUrl)
+  public DefaultUrls(String canonicalHostName, String baseGitUrl, String baseGerritUrl)
       throws UnknownHostException {
     if (canonicalHostName != null) {
       this.canonicalHostName = canonicalHostName;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesConfig.java b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesConfig.java
index 3f6c35c..640f3ca 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesConfig.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesConfig.java
@@ -50,7 +50,7 @@
 
   public static Config loadDefault(FilterConfig filterConfig)
       throws IOException, ConfigInvalidException {
-    FileBasedConfig config = new FileBasedConfig(defaultFile(), FS.DETECTED);
+    FileBasedConfig config = new FileBasedConfig(defaultFile(filterConfig), FS.DETECTED);
     config.load();
     return config;
   }
diff --git a/pom.xml b/pom.xml
index ebf4149..1869ae4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -168,6 +168,14 @@
         </plugin>
       </plugins>
     </pluginManagement>
+
+    <extensions>
+      <extension>
+        <groupId>com.googlesource.gerrit</groupId>
+        <artifactId>gs-maven-wagon</artifactId>
+        <version>3.3</version>
+      </extension>
+    </extensions>
   </build>
 
   <repositories>
@@ -187,4 +195,12 @@
       <url>http://download.java.net/maven/2/</url>
     </repository>
   </repositories>
+
+  <distributionManagement>
+    <repository>
+      <id>gerrit-maven-repository</id>
+      <url>gs://gerrit-maven</url>
+      <uniqueVersion>true</uniqueVersion>
+    </repository>
+  </distributionManagement>
 </project>