in repository/service/src/main/java/org/apache/karaf/cave/repository/service/RepositoryServiceImpl.java [907:925]
private void registerMavenServlet(Repository repository) throws Exception {
Hashtable<String, String> mavenResolverConfig = new Hashtable<>();
mavenResolverConfig.put("defaultRepositories", "file:" + repository.getLocation() + "@id=" + repository.getName() + "@snapshots@releases");
mavenResolverConfig.put("defaultLocalRepoAsRemote", "false");
mavenResolverConfig.put("useFallbackRepositories", "false");
if (repository.getProxy() == null || repository.getProxy().isEmpty() || repository.isMirror()) {
if (repository.getLocation() != null && !repository.getLocation().isEmpty()) {
mavenResolverConfig.put("localRepository", repository.getLocation());
}
}
if (repository.getProxy() != null && !repository.getProxy().isEmpty()) {
mavenResolverConfig.put("repositories", repository.getProxy() + ",file:" + repository.getLocation() + "@id=" + repository.getName() + "@snapshots");
} else {
mavenResolverConfig.put("repositories", "file:" + repository.getLocation() + "@id=" + repository.getName() + "@snapshots");
}
MavenResolver mavenResolver = MavenResolvers.createMavenResolver(mavenResolverConfig, null);
MavenServlet mavenServlet = new MavenServlet(mavenResolver, repository.getName(), repository.getLocation(), repository.getPoolSize(), repository.getRealm(), repository.getDownloadRole(), repository.getUploadRole());
httpService.registerServlet(repository.getUrl(), mavenServlet, null, null);
}