in tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/CqUtils.java [236:259]
static Path copyJar(Path localRepository, String groupId, String artifactId, String version) {
final String relativeJarPath = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/" + artifactId + "-"
+ version + ".jar";
final Path localPath = localRepository.resolve(relativeJarPath);
final boolean localExists = Files.exists(localPath);
final String remoteUri = "https://repository.apache.org/content/groups/public/" + relativeJarPath;
Path result;
try {
result = Files.createTempFile(null, localPath.getFileName().toString());
try (InputStream in = (localExists ? Files.newInputStream(localPath) : new URL(remoteUri).openStream());
OutputStream out = Files.newOutputStream(result)) {
final byte[] buf = new byte[4096];
int len;
while ((len = in.read(buf)) >= 0) {
out.write(buf, 0, len);
}
} catch (IOException e) {
throw new RuntimeException("Could not copy " + (localExists ? localPath : remoteUri) + " to " + result, e);
}
} catch (IOException e) {
throw new RuntimeException("Could not create temp file", e);
}
return result;
}