Fix jar URI parsing in dev server setup Apparently some jar:file:/... URIs have the file:/... part as the path and some don't; all should have it as the scheme-specific part. Change-Id: I1b0b6847f43306bcbaaf970b285ea5f9fbb29261
diff --git a/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java b/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java index 7885f11..dec9b48 100644 --- a/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java +++ b/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
@@ -85,12 +85,13 @@ throw new FileNotFoundException("Cannot find Gitiles source directory"); } if ("jar".equals(u.getScheme())) { - int jarEntry = u.getPath().indexOf("!/"); + String path = u.getSchemeSpecificPart(); + int jarEntry = path.indexOf("!/"); if (jarEntry < 0) { throw badSourceRoot(u); } try { - return findSourceRoot(new URI(u.getPath().substring(0, jarEntry))); + return findSourceRoot(new URI(path.substring(0, jarEntry))); } catch (URISyntaxException e) { throw badSourceRoot(u, e); }