List of usage examples for org.apache.maven.project MavenProject getRemoteArtifactRepositories
public List<ArtifactRepository> getRemoteArtifactRepositories()
From source file:me.gladwell.eclipse.m2e.android.resolve.eclipse.EclipseAetherLibraryResolver.java
License:Open Source License
public List<Library> resolveLibraries(Dependency dependency, String type, MavenProject project) { final DefaultArtifact artifact = new DefaultArtifact(dependency.getGroup(), dependency.getName(), type, dependency.getVersion());// w w w . j a v a2 s. c o m final List<ArtifactRepository> repositories = project.getRemoteArtifactRepositories(); final List<RemoteRepository> remoteRepositories = new ArrayList<RemoteRepository>(); for (ArtifactRepository repository : repositories) { RemoteRepository repo = new RemoteRepository.Builder(repository.getId(), repository.getLayout().toString(), repository.getUrl()).build(); remoteRepositories.add(repo); } return resolveDependencies(artifact, remoteRepositories); }
From source file:me.gladwell.eclipse.m2e.android.resolve.HardCodedLibraryResolver.java
License:Open Source License
public List<String> resolveLibraries(Dependency dependency, String type, MavenProject project) { List<Dependency> dependenciesForPlatform = getDependenciesForPlatform(dependency, project.getRemoteArtifactRepositories()); List<String> libraries = new ArrayList<String>(); Artifact androidArtifact = resolve(dependency.getGroup(), dependency.getName(), dependency.getVersion(), type, project.getRemoteArtifactRepositories()); libraries.add(androidArtifact.getFile().getAbsolutePath()); for (Dependency platformDependency : dependenciesForPlatform) { Artifact artifact = resolve(platformDependency.getGroup(), platformDependency.getName(), platformDependency.getVersion(), "jar", project.getRemoteArtifactRepositories()); libraries.add(artifact.getFile().getAbsolutePath()); }// w w w.jav a 2 s .c om return libraries; }
From source file:me.gladwell.eclipse.m2e.android.resolve.sonatype.SonatypeAetherLibraryResolver.java
License:Open Source License
public List<Library> resolveLibraries(Dependency dependency, String type, MavenProject project) { final DefaultArtifact artifact = new DefaultArtifact(dependency.getGroup(), dependency.getName(), type, dependency.getVersion());// ww w . j a v a2s. c o m final List<ArtifactRepository> repositories = project.getRemoteArtifactRepositories(); final List<RemoteRepository> remoteRepositories = new ArrayList<RemoteRepository>(); for (ArtifactRepository repository : repositories) { RemoteRepository repo = new RemoteRepository(repository.getId(), repository.getLayout().toString(), repository.getUrl()); remoteRepositories.add(repo); } return resolveDependencies(artifact, remoteRepositories); }
From source file:net.officefloor.launch.woof.WoofDevelopmentConfigurationLoader.java
License:Open Source License
/** * Obtains the GWT development class path to match POM configuration. In * particular to ensure same version of <code>gwt-dev</code> as the * <code>gwt-user</code> used. * /*from w w w . j a v a 2 s. c om*/ * @param pomFile * Maven POM file. * @return GWT development class path. * @throws Exception * If fails to obtain the GWT development class path. */ public static String[] getDevModeClassPath(File pomFile) throws Exception { // Create initial class path factory ClassPathFactoryImpl initial = new ClassPathFactoryImpl(null, new RemoteRepository[0]); // Obtain the Maven project and its remote repositories MavenProject project = initial.getMavenProject(pomFile); List<RemoteRepository> remoteRepositories = new LinkedList<RemoteRepository>(); for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) { remoteRepositories.add( new RemoteRepository(repository.getId(), repository.getLayout().getId(), repository.getUrl())); } // Create class path factory from POM remote repositories ClassPathFactory factory = new ClassPathFactoryImpl(null, remoteRepositories.toArray(new RemoteRepository[remoteRepositories.size()])); // Keep track of class path List<String> gwtClassPath = new LinkedList<String>(); // Obtain the GWT version String gwtDevVersion = null; for (Dependency dependency : project.getDependencies()) { String groupId = dependency.getGroupId(); String artifactId = dependency.getArtifactId(); if ((GWT_GROUP_ID.equals(groupId)) && (GWT_USER_ARTIFACT_ID.equals(artifactId))) { gwtDevVersion = dependency.getVersion(); } } if (gwtDevVersion == null) { // Use default version of GWT gwtDevVersion = DEFAULT_GWT_DEV_VERSION; // Must include GWT User for running String[] userClassPath = factory.createArtifactClassPath(GWT_GROUP_ID, GWT_USER_ARTIFACT_ID, gwtDevVersion, null, null); gwtClassPath.addAll(Arrays.asList(userClassPath)); } // Include the class path for gwt-dev String[] devClassPath = factory.createArtifactClassPath(GWT_GROUP_ID, GWT_DEV_ARTIFACT_ID, gwtDevVersion, null, null); for (String classPathEntry : devClassPath) { // Ignore if already included if (gwtClassPath.contains(classPathEntry)) { continue; } // Include class path gwtClassPath.add(classPathEntry); } // Return the GWT class path return gwtClassPath.toArray(new String[gwtClassPath.size()]); }
From source file:net.sf.buildbox.maven.contentcheck.LicenseShowMojo.java
License:Open Source License
private List<MavenProject> getMavenProjectForDependencies() throws MojoExecutionException, MojoFailureException { DependencyNode dependencyTreeNode = resolveProject(); MavenProject project = getMavenProject(); Dependencies dependencies = new Dependencies(project, dependencyTreeNode, classesAnalyzer); Log log = getLog();//from w ww . ja va2 s. com RepositoryUtils repoUtils = new RepositoryUtils(log, wagonManager, settings, mavenProjectBuilder, factory, resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(), localRepository, repositoryMetadataManager); Artifact projectArtifact = project.getArtifact(); log.info(String.format("Resolving project %s:%s:%s dependencies", projectArtifact.getGroupId(), projectArtifact.getArtifactId(), projectArtifact.getVersion())); List<Artifact> allDependencies = dependencies.getAllDependencies(); List<MavenProject> mavenProjects = new ArrayList<MavenProject>(); for (Artifact artifact : allDependencies) { log.debug(String.format("Resolving project information for %s:%s:%s", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion())); try { MavenProject mavenProject = repoUtils.getMavenProjectFromRepository(artifact); mavenProjects.add(mavenProject); } catch (ProjectBuildingException e) { throw new MojoFailureException( String.format("Cannot get project information for artifact %s:%s:%s from repository", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()), e); } } return mavenProjects; }
From source file:npanday.executable.impl.NetPluginExecutableFactoryImpl.java
License:Apache License
public NetExecutable getPluginRunner(MavenProject project, Artifact pluginArtifact, Set<Artifact> additionalDependencies, VendorRequirement vendorRequirement, ArtifactRepository localRepository, List<String> commands, File targetDir, String npandayVersion) throws PlatformUnsupportedException, ArtifactResolutionException, ArtifactNotFoundException { Set dependencies = Sets.newHashSet(pluginArtifact); if (additionalDependencies != null) { dependencies.addAll(additionalDependencies); }/*from w w w . j a v a2 s . c o m*/ // need to resolve what we can here since we need the path! Set<Artifact> artifacts = makeAvailable(project.getArtifact(), project.getManagedVersionMap(), dependencies, targetDir, localRepository, // TODO: consider, if this must be getRemotePluginRepositories()!! project.getRemoteArtifactRepositories()); commands.add("startProcessAssembly=" + pluginArtifact.getFile().getAbsolutePath()); String pluginArtifactPath = findArtifact(artifacts, "NPanday.Plugin").getFile().getAbsolutePath(); commands.add("pluginArtifactPath=" + pluginArtifactPath); return getArtifactExecutable(project, createPluginRunnerArtifact(npandayVersion), dependencies, vendorRequirement, localRepository, commands, targetDir); }
From source file:npanday.executable.impl.NetPluginExecutableFactoryImpl.java
License:Apache License
public NetExecutable getArtifactExecutable(MavenProject project, Artifact executableArtifact, Set<Artifact> additionalDependencies, VendorRequirement vendorRequirement, ArtifactRepository localRepository, List<String> commands, File targetDir) throws PlatformUnsupportedException, ArtifactResolutionException, ArtifactNotFoundException { Set dependencies = Sets.newHashSet(executableArtifact); if (additionalDependencies != null) { dependencies.addAll(additionalDependencies); }/*from w w w .j a v a 2 s . c o m*/ makeAvailable(project.getArtifact(), project.getManagedVersionMap(), dependencies, targetDir, localRepository, // TODO: consider, if this must be getRemotePluginRepositories()!! project.getRemoteArtifactRepositories()); File artifactPath = executableArtifact.getFile(); if (commands == null) { commands = new ArrayList<String>(); } // TODO: this should be a separate implementation of NetExecutable, configured only for MONO!!! VendorInfo vendorInfo; try { vendorInfo = processor.process(vendorRequirement); } catch (IllegalStateException e) { throw new PlatformUnsupportedException( "NPANDAY-066-010: Illegal State: Vendor Info = " + vendorRequirement, e); } if (vendorInfo.getVendor() == null || vendorInfo.getFrameworkVersion() == null) { throw new PlatformUnsupportedException("NPANDAY-066-020: Missing Vendor Information: " + vendorInfo); } getLogger().debug("NPANDAY-066-003: Found Vendor: " + vendorInfo); List<String> modifiedCommands = new ArrayList<String>(); String exe = null; if (vendorInfo.getVendor().equals(Vendor.MONO)) { List<File> executablePaths = vendorInfo.getExecutablePaths(); if (executablePaths != null) { for (File executablePath : executablePaths) { if (new File(executablePath.getAbsolutePath(), "mono.exe").exists()) { exe = new File(executablePath.getAbsolutePath(), "mono.exe").getAbsolutePath(); commands.add("vendor=MONO");//if forked process, it needs to know. break; } } } if (exe == null) { getLogger().info( "NPANDAY-066-005: Executable path for mono does not exist. Will attempt to execute MONO using" + " the main PATH variable."); exe = "mono"; commands.add("vendor=MONO");//if forked process, it needs to know. } modifiedCommands.add(artifactPath.getAbsolutePath()); for (String command : commands) { modifiedCommands.add(command); } } else { exe = artifactPath.getAbsolutePath(); modifiedCommands = commands; } //TODO: DotGNU on Linux? ExecutableConfig executableConfig = new ExecutableConfig(); executableConfig.setExecutionPaths(Arrays.asList(exe)); executableConfig.setCommands(modifiedCommands); try { repositoryExecutableContext.init(executableConfig); } catch (InitializationException e) { throw new PlatformUnsupportedException( "NPANDAY-066-006: Unable to initialize the repository executable context", e); } try { return repositoryExecutableContext.getNetExecutable(); } catch (ExecutionException e) { throw new PlatformUnsupportedException("NPANDAY-066-004: Unable to find net executable", e); } }
From source file:npanday.executable.impl.NetPluginExecutableFactoryImpl.java
License:Apache License
public NetExecutable getPluginExecutable(MavenProject project, Artifact pluginArtifact, VendorRequirement vendorRequirement, ArtifactRepository localRepository, File parameterFile, String mojoName, File targetDir, String npandayVersion) throws PlatformUnsupportedException, ArtifactResolutionException, ArtifactNotFoundException { Set<Artifact> dependencies = Sets.newHashSet(pluginArtifact); Artifact loaderArtifact = artifactFactory.createDependencyArtifact("org.apache.npanday.plugins", "NPanday.Plugin.Loader", VersionRange.createFromVersion(npandayVersion), ArtifactType.DOTNET_EXECUTABLE.getPackagingType(), null, "runtime"); dependencies.add(pluginArtifact);/*from ww w . j a v a 2 s . co m*/ // preresolve this one artifactResolver.resolve(pluginArtifact, project.getRemoteArtifactRepositories(), localRepository); File pluginArtifactPath = getPrivateApplicationBaseFileFor(pluginArtifact, targetDir); List<String> commands = new ArrayList<String>(); commands.add("parameterFile=" + parameterFile.getAbsolutePath()); commands.add("assemblyFile=" + pluginArtifactPath.getAbsolutePath()); commands.add("mojoName=" + mojoName);//ArtifactId = namespace return getPluginRunner(project, loaderArtifact, dependencies, vendorRequirement, localRepository, commands, targetDir, npandayVersion); }
From source file:npanday.resolver.NPandayDependencyResolution.java
License:Apache License
public Set<Artifact> require(MavenProject project, ArtifactRepository localRepository, ArtifactFilter filter) throws ArtifactResolutionException { long startTime = System.currentTimeMillis(); artifactResolver.initializeWithFilter(filter); if (getLogger().isDebugEnabled()) { getLogger().debug("NPANDAY-148-007: Resolving dependencies for " + project.getArtifact()); }/*from w ww . j a v a2 s .c o m*/ try { if (project.getDependencyArtifacts() == null) { createArtifactsForMaven2BackCompat(project); } ArtifactResolutionResult result = artifactResolver.resolveTransitively(project.getDependencyArtifacts(), project.getArtifact(), project.getManagedVersionMap(), localRepository, project.getRemoteArtifactRepositories(), metaDataSource, filter); /* * WORKAROUND: transitive dependencies are not cached in MavenProject; in order to let * them "live" for following mojo executions, we'll add the custom resolved * dependencies to the projects DIRECT dependencies * */ Set<Artifact> dependencyArtifacts = new HashSet<Artifact>(project.getDependencyArtifacts()); addResolvedSpecialsToProjectDependencies(result, dependencyArtifacts); // Add custom contribute dependencies to maven project dependencies dependencyArtifacts.addAll(artifactResolver.getCustomDependenciesCache()); project.setDependencyArtifacts(dependencyArtifacts); Set<Artifact> resultRequire = Sets.newLinkedHashSet(result.getArtifacts()); resultRequire.addAll(artifactResolver.getCustomDependenciesCache()); if (getLogger().isInfoEnabled()) { long endTime = System.currentTimeMillis(); getLogger() .info("NPANDAY-148-009: Took " + (endTime - startTime) + "ms to resolve dependencies for " + project.getArtifact() + " with filter " + filter.toString()); } return resultRequire; } catch (ArtifactResolutionException e) { throw new ArtifactResolutionException("NPANDAY-148-001: Could not resolve project dependencies", project.getArtifact(), e); } catch (ArtifactNotFoundException e) { throw new ArtifactResolutionException("NPANDAY-148-002: Could not resolve project dependencies", project.getArtifact(), e); } catch (InvalidDependencyVersionException e) { throw new ArtifactResolutionException("NPANDAY-148-003: Could not resolve project dependencies", project.getArtifact(), e); } }
From source file:org.apache.geronimo.mavenplugins.car.AbstractCarMojo.java
License:Apache License
protected void getDependencies(MavenProject project, boolean useTransitiveDependencies) throws MojoExecutionException { DependencyTreeResolutionListener listener = new DependencyTreeResolutionListener(getLogger()); DependencyNode rootNode;// w w w . jav a2 s . c o m try { Map managedVersions = project.getManagedVersionMap(); Set dependencyArtifacts = project.getDependencyArtifacts(); if (dependencyArtifacts == null) { dependencyArtifacts = project.createArtifacts(artifactFactory, null, null); } ArtifactResolutionResult result = artifactCollector.collect(dependencyArtifacts, project.getArtifact(), managedVersions, localRepository, project.getRemoteArtifactRepositories(), artifactMetadataSource, null, Collections.singletonList(listener)); this.dependencyArtifacts = result.getArtifacts(); rootNode = listener.getRootNode(); } catch (ArtifactResolutionException exception) { throw new MojoExecutionException("Cannot build project dependency tree", exception); } catch (InvalidDependencyVersionException e) { throw new MojoExecutionException("Invalid dependency version for artifact " + project.getArtifact()); } Scanner scanner = new Scanner(); scanner.scan(rootNode, useTransitiveDependencies); localDependencies = scanner.localDependencies.keySet(); treeListing = scanner.getLog(); }