Example usage for org.apache.maven.project MavenProject getRemoteArtifactRepositories

List of usage examples for org.apache.maven.project MavenProject getRemoteArtifactRepositories

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getRemoteArtifactRepositories.

Prototype

public List<ArtifactRepository> getRemoteArtifactRepositories() 

Source Link

Usage

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();
}