private static void addRepositories(Project project, LinkedHashMap<String, String> repositories) { project .getRepositories() .stream() .filter(repository -> repository instanceof MavenArtifactRepository) .forEach( repository -> { MavenArtifactRepository mavenRepository = (MavenArtifactRepository) repository; String name = mavenRepository.getName().toLowerCase(); String url = mavenRepository.getUrl().toString(); repositories.put(name, url); }); } }
/** * Creates an {@code RepositoryIdentifier} from an {@link ArtifactRepository}. * * @param artifactRepository The repository to create this object. */ public RepositoryIdentifier(ArtifactRepository artifactRepository) { name = artifactRepository.getName(); if (artifactRepository instanceof MavenArtifactRepository) { url = ((MavenArtifactRepository) artifactRepository).getUrl().normalize().toString(); } else if (artifactRepository instanceof IvyArtifactRepository) { url = ((IvyArtifactRepository) artifactRepository).getUrl().normalize().toString(); } else if (artifactRepository instanceof ArtifactRepositoryInternal) { url = "https://plugins.gradle.org/"; } else { throw new IllegalStateException(String.format("ArtifactRepository '%s' of type %s is not supported for Export.", artifactRepository.getName(), artifactRepository.getClass().getName())); } }
public static List<RemoteRepository> getRepositories(ServiceRegistry registry) { Iterator<ArtifactRepository> iterator = registry.get(RepositoryHandler.class).iterator(); List<RemoteRepository> repositories = new ArrayList<>(); while (iterator.hasNext()) { ArtifactRepository repository = iterator.next(); String name = repository.getName(); if (repository instanceof MavenArtifactRepository && !name.startsWith("MavenLocal")) { MavenArtifactRepository mavenRepository = (MavenArtifactRepository) repository; String url = mavenRepository.getUrl().toString(); RemoteRepository.Builder builder = new RemoteRepository.Builder(name, "default", url); String proxyHost = System.getProperty("http.proxyHost"); if (proxyHost != null) { int proxyPort = Integer.parseInt(System.getProperty("http.proxyPort", "8080")); builder.setProxy(new Proxy("http", proxyHost, proxyPort)); } RemoteRepository remoteRepository = builder.build(); repositories.add(remoteRepository); } } if (repositories.isEmpty()) { RemoteRepository remoteRepository = new RemoteRepository.Builder("central", "default", "http://central.maven.org/maven2/").build(); repositories.add(remoteRepository); } return repositories; }
public static DefaultRepositorySystemSession getRepositorySystemSession(RepositorySystem system, ServiceRegistry registry, boolean offline) { DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); File file = new File(registry.get(RepositoryHandler.class).mavenLocal().getUrl().getPath()); LocalRepository localRepo = new LocalRepository(file); session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); session.setCache(new DefaultRepositoryCache()); session.setOffline(offline); // avoid unnecessary snapshot resolution session.setConfigProperty("aether.artifactResolver.snapshotNormalization", false); return session; }
if (artifactRepository instanceof MavenArtifactRepository) { MavenArtifactRepository mavenArtifactRepository = (MavenArtifactRepository) artifactRepository; remoteRepositories.add(new RemoteRepository.Builder(mavenArtifactRepository.getName(), "default", mavenArtifactRepository.getUrl().toString()).build());