Fix classpath index so entries match those expected by the launcher

This reverts commit ad164269e9 and adds
some additional tests.

Fixes gh-24192
This commit is contained in:
Andy Wilkinson
2021-01-08 14:42:43 +00:00
parent 826d79be3e
commit 5ad4d627fd
13 changed files with 153 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -473,15 +473,11 @@ public abstract class Packager {
}
private void writeClasspathIndex(RepackagingLayout layout, AbstractJarWriter writer) throws IOException {
List<String> names = this.libraries.keySet().stream().map(this::getJarName)
.map((name) -> "- \"" + name + "\"").collect(Collectors.toList());
List<String> names = this.libraries.keySet().stream().map((path) -> "- \"" + path + "\"")
.collect(Collectors.toList());
writer.writeIndexFile(layout.getClasspathIndexFileLocation(), names);
}
private String getJarName(String path) {
return path.substring(path.lastIndexOf('/') + 1);
}
}
}