in src/main/java/org/apache/maven/plugins/shade/resource/ServicesResourceTransformer.java [56:83]
public void processResource(String resource, InputStream is, final List<Relocator> relocators, long time)
throws IOException {
resource = resource.substring(SERVICES_PATH.length() + 1);
for (Relocator relocator : relocators) {
if (relocator.canRelocateClass(resource)) {
resource = relocator.relocateClass(resource);
break;
}
}
resource = SERVICES_PATH + '/' + resource;
Set<String> out = serviceEntries.computeIfAbsent(resource, k -> new LinkedHashSet<>());
Scanner scanner = new Scanner(is, StandardCharsets.UTF_8.name());
while (scanner.hasNextLine()) {
String relContent = scanner.nextLine();
for (Relocator relocator : relocators) {
if (relocator.canRelocateClass(relContent)) {
relContent = relocator.applyToSourceContent(relContent);
}
}
out.add(relContent);
}
if (time > this.time) {
this.time = time;
}
}