/** * * @return normalized File for local repository root * @since 2.26 */ public File getLocalRepositoryFile() { return FileUtil.normalizeFile(new File(getLocalRepository().getBasedir())); }
@Override public File getLocation() { if (location != null) { return location; } MavenEmbedder embedder = EmbedderFactory.getProjectEmbedder(); Artifact art = embedder.createProjectArtifact(groupId, artifactId, version); File file = new File(embedder.getLocalRepositoryFile(), embedder.getLocalRepository().pathOf(art)); location = FileUtil.normalizeFile(file); return location; }
protected @Override URLConnection openConnection(URL u) throws IOException { String path = u.getPath(); if (!path.startsWith("/")) { throw new IOException(path); } String stuff = path.substring(1); MavenEmbedder online = EmbedderFactory.getOnlineEmbedder(); Artifact a; String[] pieces = stuff.split(":"); if (pieces.length == 4) { a = online.createArtifact(pieces[0], pieces[1], pieces[2], pieces[3]); } else if (pieces.length == 5) { a = online.createArtifactWithClassifier(pieces[0], pieces[1], pieces[2], pieces[3], pieces[4]); } else { throw new IOException(stuff); } try { online.resolve(a, Collections.<ArtifactRepository>singletonList(online.createRemoteRepository(RepositorySystem.DEFAULT_REMOTE_REPO_URL, RepositorySystem.DEFAULT_REMOTE_REPO_ID)), online.getLocalRepository()); } catch (Exception x) { throw new IOException(stuff + ": " + x, x); } File f = a.getFile(); if (!f.isFile()) { throw new IOException("failed to download " + stuff); } Logger.getLogger(MavenProtocolHandler.class.getName()).log(Level.FINE, "resolved {0} -> {1}", new Object[] {stuff, f}); return Utilities.toURI(f).toURL().openConnection(); }
private static @NonNull Artifact createArtifact(@NonNull NBVersionInfo info, @NullAllowed String classifier) { Artifact art; MavenEmbedder online = EmbedderFactory.getOnlineEmbedder(); if (info.getClassifier() != null || classifier != null) { art = online.createArtifactWithClassifier(info.getGroupId(), info.getArtifactId(), info.getVersion(), info.getType() != null ? info.getType() : "jar", //NOI18N classifier == null ? info.getClassifier() : classifier); } else { art = online.createArtifact(info.getGroupId(), info.getArtifactId(), info.getVersion(), null, info.getType() != null ? info.getType() : "jar"); //NOI18N } ArtifactRepository repo = online.getLocalRepository(); String localPath = repo.pathOf(art); art.setFile(FileUtil.normalizeFile(new File(online.getLocalRepositoryFile(), localPath))); return art; }
private static MavenProject readMavenProject(MavenEmbedder embedder, Artifact artifact, List<ArtifactRepository> remoteRepos) throws ProjectBuildingException { //TODO rewrite MavenProjectBuilder bldr = embedder.lookupComponent(MavenProjectBuilder.class); assert bldr !=null : "MavenProjectBuilder component not found in maven"; embedder.setUpLegacySupport(); return bldr.buildFromRepository(artifact, remoteRepos, embedder.getLocalRepository()) ; }
MavenEmbedder online = EmbedderFactory.getOnlineEmbedder(); Artifact art = online.createArtifact(gav[0], gav[1], gav[2], "maven-plugin"); online.resolve(art, Collections.<ArtifactRepository>emptyList(), online.getLocalRepository()); File jar = art.getFile(); if (jar.isFile()) {
@Override public ModelSource resolveModel(String groupId, String artifactId, String version) throws UnresolvableModelException { Artifact artifactParent = embedder.lookupComponent(RepositorySystem.class).createProjectArtifact(groupId, artifactId, version); try { embedder.resolve(artifactParent, remoteRepositories, embedder.getLocalRepository()); } catch (ArtifactResolutionException ex) { Exceptions.printStackTrace(ex); throw new UnresolvableModelException(ex.getMessage(), groupId , artifactId , version ); } catch (ArtifactNotFoundException ex) { Exceptions.printStackTrace(ex); throw new UnresolvableModelException( ex.getMessage(), groupId , artifactId , version ); } return new FileModelSource(artifactParent.getFile()); } }
String localPath = online.getLocalRepository().pathOf(projectArtifact); File f = FileUtil.normalizeFile(new File(online.getLocalRepository().getBasedir(), localPath)); if (f.exists()) { cpFiles.add(f);
@Override public void run() { try { //TODO add progress bar. // XXX does online.resolve(...) not suffice? online.setUpLegacySupport(); builder.buildFromRepository(projectArtifact, p.getMavenProject().getRemoteArtifactRepositories(), online.getLocalRepository()); synchronized (AuxPropsImpl.this) { recheck = true; } } catch (ProjectBuildingException ex) { ex.printStackTrace(); // Exceptions.printStackTrace(ex); } } });
public static DependencyNode createDependencyTree(MavenProject project, MavenEmbedder embedder, String scope) { //TODO: check alternative for deprecated maven components DependencyTreeBuilder builder = embedder.lookupComponent(DependencyTreeBuilder.class); assert builder !=null : "DependencyTreeBuilder component not found in maven"; ArtifactFactory factory = embedder.lookupComponent(ArtifactFactory.class); assert factory !=null : "ArtifactFactory component not found in maven"; ArtifactMetadataSource source = embedder.lookupComponent(ArtifactMetadataSource.class); assert source !=null : "ArtifactMetadataSource component not found in maven"; ArtifactCollector collector = embedder.lookupComponent(ArtifactCollector.class); assert collector !=null : "ArtifactCollector component not found in maven"; embedder.setUpLegacySupport(); return createDependencyTree(project, builder, embedder.getLocalRepository(), factory, source, collector, scope); }
/** * Tries to download an artifact. * @param info a version of an artifact * @return the file in the local repository (might not exist if download failed) * @throws AbstractArtifactResolutionException currently never? * @since 1.17 */ public static File downloadArtifact(NBVersionInfo info) throws Exception { Artifact a = createArtifact(info); MavenEmbedder online = EmbedderFactory.getOnlineEmbedder(); List<ArtifactRepository> remotes; RepositoryInfo repo = RepositoryPreferences.getInstance().getRepositoryInfoById(info.getRepoId()); if (repo != null && repo.isRemoteDownloadable()) { remotes = Collections.singletonList(online.createRemoteRepository(repo.getRepositoryUrl(), repo.getId())); } else { remotes = Collections.singletonList(online.createRemoteRepository(RepositorySystem.DEFAULT_REMOTE_REPO_URL, RepositorySystem.DEFAULT_REMOTE_REPO_ID)); } online.resolve(a, remotes, online.getLocalRepository()); return a.getFile(); }
return; final ArtifactRepository repository = EmbedderFactory.getProjectEmbedder().getLocalRepository(); try { getRepoMutex(repo).writeAccess(new Mutex.ExceptionAction<Void>() {
return; final ArtifactRepository repository = EmbedderFactory.getProjectEmbedder().getLocalRepository(); try { getRepoMutex(repo).writeAccess(new Mutex.ExceptionAction<Void>() {
public ProjectBuildingResult buildProject(Artifact art, ProjectBuildingRequest req) throws ProjectBuildingException { if (req.getLocalRepository() == null) { req.setLocalRepository(getLocalRepository()); } MavenExecutionRequest request = createMavenExecutionRequest(); req.setProcessPlugins(false); req.setRepositorySession(maven.newRepositorySession(request)); ProjectBuildingResult res = projectBuilder.build(art, req); normalizePaths(res.getProject()); return res; }
MavenExecutionRequest req = new DefaultMavenExecutionRequest(); ArtifactRepository localRepository = getLocalRepository(); req.setLocalRepository(localRepository); req.setLocalRepositoryPath(localRepository.getBasedir());
online.resolve(art, Collections.<ArtifactRepository>singletonList(online.createRemoteRepository(info.getRepositoryUrl(), info.getId())), online.getLocalRepository()); } catch (ThreadDeath d) { return;
DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(); session.setOffline(isOffline()); session.setLocalRepositoryManager(new SimpleLocalRepositoryManager(getLocalRepository().getBasedir()));