!groupAUri.startsWith(prefix) ||
!groupBUri.startsWith(prefix)) {
start++;
- rootUri = defaultUri.substring(0, start);
+ rootUri = defaultUri.substring(0, start) + "manifest";
defaultUri = defaultUri.substring(start);
notDefaultUri = notDefaultUri.substring(start);
groupAUri = groupAUri.substring(start);
!groupAUri.startsWith(prefix) ||
!groupBUri.startsWith(prefix)) {
start++;
- rootUri = defaultUri.substring(0, start);
+ rootUri = defaultUri.substring(0, start) + "manifest";
defaultUri = defaultUri.substring(start);
notDefaultUri = notDefaultUri.substring(start);
groupAUri = groupAUri.substring(start);
this.command = command;
this.inputStream = inputStream;
this.filename = filename;
- this.baseUrl = baseUrl;
+
+ // Strip trailing /s to match repo behavior.
+ int lastIndex = baseUrl.length() - 1;
+ while (lastIndex >= 0 && baseUrl.charAt(lastIndex) == '/')
+ lastIndex--;
+ this.baseUrl = baseUrl.substring(0, lastIndex + 1);
+
remotes = new HashMap<String, String>();
projects = new ArrayList<Project>();
plusGroups = new HashSet<String>();