Example usage for org.apache.maven.artifact.repository ArtifactRepository getAuthentication

List of usage examples for org.apache.maven.artifact.repository ArtifactRepository getAuthentication

Introduction

In this page you can find the example usage for org.apache.maven.artifact.repository ArtifactRepository getAuthentication.

Prototype

Authentication getAuthentication();

Source Link

Usage

From source file:com.rebaze.maven.support.AetherUtils.java

License:Open Source License

public static RemoteRepository toRepo(ArtifactRepository repo) {
    RemoteRepository result = null;/*from www .j a  va  2  s  . c o  m*/
    if (repo != null) {
        RemoteRepository.Builder builder = new RemoteRepository.Builder(repo.getId(), getLayout(repo),
                repo.getUrl());
        builder.setSnapshotPolicy(toPolicy(repo.getSnapshots()));
        builder.setReleasePolicy(toPolicy(repo.getReleases()));
        builder.setAuthentication(toAuthentication(repo.getAuthentication()));
        builder.setProxy(toProxy(repo.getProxy()));
        builder.setMirroredRepositories(toRepos(repo.getMirroredRepositories()));
        result = builder.build();
    }
    return result;
}

From source file:hu.skawa.migrator_maven_plugin.ServerExport.java

License:Apache License

public void execute() throws MojoExecutionException {
    List<ArtifactRepository> remoteRepos = project.getRemoteArtifactRepositories();
    List<Server> servers = Lists.newArrayList();
    for (ArtifactRepository repo : remoteRepos) {
        //@formatter:off
        servers.add(new Server(repo.getUrl(), repo.getAuthentication().getUsername(),
                repo.getAuthentication().getPassword(), repo.getId()));
        //@formatter:on
    }/*from w  w  w .  j a  v a 2  s. co m*/

    try {
        for (Server s : servers) {
            if (outputFilePrefix != null) {
                File serverFile = new File(outputFilePrefix + "-servers");
                FileWriter serverWriter = new FileWriter(serverFile);
                serverWriter.write(s.toBazelServer());
                serverWriter.write("\n");
                serverWriter.close();
            } else {
                getLog().info(s.toBazelServer());
            }
        }
    } catch (IOException e) {
        getLog().error(e);
    }
}

From source file:org.codehaus.mojo.stage2.RepositoryHelper.java

License:Apache License

Wagon createWagon(ArtifactRepository artifactRepository) throws WagonException {
    final Repository repository = new Repository(artifactRepository.getId(), artifactRepository.getUrl());
    try {//from w  w w  . j  a  va  2 s.com
        artifactRepository.getAuthentication();
    } catch (AbstractMethodError e) {
        getLogger().info("No authentication available" + e);
    }
    final Wagon wagon = wagonManager.getWagon(repository);
    wagon.connect(repository);
    return wagon;
}

From source file:org.eclipse.m2e.core.embedder.ArtifactRepositoryRef.java

License:Open Source License

public ArtifactRepositoryRef(ArtifactRepository repository) {
    this.id = repository.getId();
    this.url = repository.getUrl();
    this.username = repository.getAuthentication() != null ? repository.getAuthentication().getUsername()
            : null;/*from w  ww  . jav a2  s.  c o m*/
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

private String getLastUpdatedKey(ArtifactRepository repository, Artifact artifact) {
    StringBuilder key = new StringBuilder();

    // repository part
    key.append(repository.getId());/* ww w . ja v  a2s  . c  o  m*/
    if (repository.getAuthentication() != null) {
        key.append('|').append(repository.getAuthentication().getUsername());
    }
    key.append('|').append(repository.getUrl());

    // artifact part
    key.append('|').append(artifact.getClassifier());

    return key.toString();
}

From source file:org.eclipse.m2e.core.internal.embedder.MavenImpl.java

License:Open Source License

private List<ArtifactRepository> removeDuplicateRepositories(ArrayList<ArtifactRepository> repositories) {
    ArrayList<ArtifactRepository> result = new ArrayList<ArtifactRepository>();

    HashSet<String> keys = new HashSet<String>();
    for (ArtifactRepository repository : repositories) {
        StringBuilder key = new StringBuilder();
        if (repository.getId() != null) {
            key.append(repository.getId());
        }/*from w  ww  . j a  v  a 2 s .c om*/
        key.append(':').append(repository.getUrl()).append(':');
        if (repository.getAuthentication() != null && repository.getAuthentication().getUsername() != null) {
            key.append(repository.getAuthentication().getUsername());
        }
        if (keys.add(key.toString())) {
            result.add(repository);
        }
    }
    return result;
}

From source file:org.eclipse.tycho.p2.facade.P2TargetPlatformResolver.java

License:Open Source License

protected TargetPlatform doResolvePlatform(final MavenSession session, final MavenProject project,
        List<ReactorProject> reactorProjects, List<Dependency> dependencies, P2Resolver resolver) {
    TargetPlatformConfiguration configuration = (TargetPlatformConfiguration) project
            .getContextValue(TychoConstants.CTX_TARGET_PLATFORM_CONFIGURATION);

    resolver.setRepositoryCache(repositoryCache);

    resolver.setOffline(session.isOffline());

    resolver.setLogger(new P2Logger() {
        public void debug(String message) {
            if (message != null && message.length() > 0) {
                getLogger().info(message); // TODO
            }//  w  w w . j  a v  a  2s. c o m
        }

        public void info(String message) {
            if (message != null && message.length() > 0) {
                getLogger().info(message);
            }
        }

        public boolean isDebugEnabled() {
            return getLogger().isDebugEnabled() && DebugUtils.isDebugEnabled(session, project);
        }
    });

    Map<File, ReactorProject> projects = new HashMap<File, ReactorProject>();

    resolver.setLocalRepositoryLocation(new File(session.getLocalRepository().getBasedir()));

    resolver.setEnvironments(getEnvironments(configuration));

    for (ReactorProject otherProject : reactorProjects) {
        if (getLogger().isDebugEnabled()) {
            getLogger().debug("P2resolver.addMavenProject " + otherProject.getId());
        }
        projects.put(otherProject.getBasedir(), otherProject);
        resolver.addReactorArtifact(new ReactorArtifactFacade(otherProject, null));

        Map<String, Set<Object>> dependencyMetadata = otherProject.getDependencyMetadata();
        if (dependencyMetadata != null) {
            for (String classifier : dependencyMetadata.keySet()) {
                resolver.addReactorArtifact(new ReactorArtifactFacade(otherProject, classifier));
            }
        }
    }

    if (dependencies != null) {
        for (Dependency dependency : dependencies) {
            resolver.addDependency(dependency.getType(), dependency.getArtifactId(), dependency.getVersion());
        }
    }

    if (TargetPlatformConfiguration.POM_DEPENDENCIES_CONSIDER.equals(configuration.getPomDependencies())) {
        Set<String> projectIds = new HashSet<String>();
        for (ReactorProject p : reactorProjects) {
            String key = ArtifactUtils.key(p.getGroupId(), p.getArtifactId(), p.getVersion());
            projectIds.add(key);
        }

        ArrayList<String> scopes = new ArrayList<String>();
        scopes.add(Artifact.SCOPE_COMPILE);
        Collection<Artifact> artifacts;
        try {
            artifacts = projectDependenciesResolver.resolve(project, scopes, session);
        } catch (MultipleArtifactsNotFoundException e) {
            Collection<Artifact> missing = new HashSet<Artifact>(e.getMissingArtifacts());

            for (Iterator<Artifact> it = missing.iterator(); it.hasNext();) {
                Artifact a = it.next();
                String key = ArtifactUtils.key(a.getGroupId(), a.getArtifactId(), a.getBaseVersion());
                if (projectIds.contains(key)) {
                    it.remove();
                }
            }

            if (!missing.isEmpty()) {
                throw new RuntimeException("Could not resolve project dependencies", e);
            }

            artifacts = e.getResolvedArtifacts();
            artifacts.removeAll(e.getMissingArtifacts());
        } catch (AbstractArtifactResolutionException e) {
            throw new RuntimeException("Could not resolve project dependencies", e);
        }
        List<Artifact> externalArtifacts = new ArrayList<Artifact>(artifacts.size());
        for (Artifact artifact : artifacts) {
            String key = ArtifactUtils.key(artifact.getGroupId(), artifact.getArtifactId(),
                    artifact.getBaseVersion());
            if (projectIds.contains(key)) {
                // resolved to an older snapshot from the repo, we only want the current project in the reactor
                continue;
            }
            externalArtifacts.add(artifact);
        }
        addToP2ViewOfLocalRepository(session, externalArtifacts, project);
        for (Artifact artifact : externalArtifacts) {
            /*
             * TODO This call generates p2 metadata for the POM dependencies. If the artifact
             * has an attached p2metadata.xml, we should reuse that metadata.
             */
            /*
             * TODO The generated metadata is "depencency only" metadata. (Just by coincidence
             * this is currently full metadata.) Since this POM depencency metadata may be
             * copied into an eclipse-repository or p2-enabled RCP installation, it shall be
             * documented that the generated metadata must be full metadata.
             */
            if (getLogger().isDebugEnabled()) {
                getLogger().debug("P2resolver.addMavenArtifact " + artifact.toString());
            }
            resolver.addMavenArtifact(new ArtifactFacade(artifact));
        }
    }

    for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) {
        try {
            URI uri = new URL(repository.getUrl()).toURI();

            if (repository.getLayout() instanceof P2ArtifactRepositoryLayout) {
                if (session.isOffline()) {
                    getLogger().debug("Offline mode, using local cache only for repository "
                            + repository.getId() + " (" + repository.getUrl() + ")");
                }

                try {
                    Authentication auth = repository.getAuthentication();
                    if (auth != null) {
                        resolver.setCredentials(uri, auth.getUsername(), auth.getPassword());
                    }

                    resolver.addP2Repository(uri);

                    getLogger().debug(
                            "Added p2 repository " + repository.getId() + " (" + repository.getUrl() + ")");
                } catch (Exception e) {
                    String msg = "Failed to access p2 repository " + repository.getId() + " ("
                            + repository.getUrl() + "), will try to use local cache. Reason: " + e.getMessage();
                    if (getLogger().isDebugEnabled()) {
                        getLogger().warn(msg, e);
                    } else {
                        getLogger().warn(msg);
                    }
                }
            } else {
                if (!configuration.isIgnoreTychoRepositories() && !session.isOffline()) {
                    try {
                        MavenRepositoryReader reader = plexus.lookup(MavenRepositoryReader.class);
                        reader.setArtifactRepository(repository);
                        reader.setLocalRepository(session.getLocalRepository());

                        String repositoryKey = getRepositoryKey(repository);
                        TychoRepositoryIndex index = repositoryCache.getRepositoryIndex(repositoryKey);
                        if (index == null) {
                            index = new DefaultTychoRepositoryIndex(reader);

                            repositoryCache.putRepositoryIndex(repositoryKey, index);
                        }

                        resolver.addMavenRepository(uri, index, reader);
                        getLogger().debug("Added Maven repository " + repository.getId() + " ("
                                + repository.getUrl() + ")");
                    } catch (FileNotFoundException e) {
                        // it happens
                    } catch (Exception e) {
                        getLogger().debug("Unable to initialize remote Tycho repository", e);
                    }
                } else {
                    String msg = "Ignoring Maven repository " + repository.getId() + " (" + repository.getUrl()
                            + ")";
                    if (session.isOffline()) {
                        msg += " while in offline mode";
                    }
                    getLogger().debug(msg);
                }
            }
        } catch (MalformedURLException e) {
            getLogger().warn("Could not parse repository URL", e);
        } catch (URISyntaxException e) {
            getLogger().warn("Could not parse repository URL", e);
        }
    }

    Target target = configuration.getTarget();

    if (target != null) {
        Set<URI> uris = new HashSet<URI>();

        for (Target.Location location : target.getLocations()) {
            String type = location.getType();
            if (!"InstallableUnit".equalsIgnoreCase(type)) {
                getLogger().warn("Target location type: " + type + " is not supported");
                continue;
            }
            for (Target.Repository repository : location.getRepositories()) {

                try {
                    URI uri = new URI(getMirror(repository, session.getRequest().getMirrors()));
                    if (uris.add(uri)) {
                        if (session.isOffline()) {
                            getLogger().debug("Ignored repository " + uri + " while in offline mode");
                        } else {
                            String id = repository.getId();
                            if (id != null) {
                                Server server = session.getSettings().getServer(id);

                                if (server != null) {
                                    resolver.setCredentials(uri, server.getUsername(), server.getPassword());
                                } else {
                                    getLogger().info("Unknown server id=" + id + " for repository location="
                                            + repository.getLocation());
                                }
                            }

                            try {
                                resolver.addP2Repository(uri);
                            } catch (Exception e) {
                                String msg = "Failed to access p2 repository " + uri
                                        + ", will try to use local cache. Reason: " + e.getMessage();
                                if (getLogger().isDebugEnabled()) {
                                    getLogger().warn(msg, e);
                                } else {
                                    getLogger().warn(msg);
                                }
                            }
                        }
                    }
                } catch (URISyntaxException e) {
                    getLogger().debug("Could not parse repository URL", e);
                }
            }

            for (Target.Unit unit : location.getUnits()) {
                String versionRange;
                if ("0.0.0".equals(unit.getVersion())) {
                    versionRange = unit.getVersion();
                } else {
                    // perfect version match
                    versionRange = "[" + unit.getVersion() + "," + unit.getVersion() + "]";
                }
                resolver.addDependency(P2Resolver.TYPE_INSTALLABLE_UNIT, unit.getId(), versionRange);
            }
        }
    }

    if (!isAllowConflictingDependencies(project, configuration)) {
        List<P2ResolutionResult> results = resolver.resolveProject(project.getBasedir());

        MultiEnvironmentTargetPlatform multiPlatform = new MultiEnvironmentTargetPlatform();

        // FIXME this is just wrong
        for (int i = 0; i < configuration.getEnvironments().size(); i++) {
            TargetEnvironment environment = configuration.getEnvironments().get(i);
            P2ResolutionResult result = results.get(i);

            DefaultTargetPlatform platform = newDefaultTargetPlatform(session, projects, result);

            // addProjects( session, platform );

            multiPlatform.addPlatform(environment, platform);
        }

        return multiPlatform;
    } else {
        P2ResolutionResult result = resolver.collectProjectDependencies(project.getBasedir());

        return newDefaultTargetPlatform(session, projects, result);
    }
}

From source file:org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.java

License:Open Source License

private void addEntireP2RepositoryToTargetPlatform(ArtifactRepository repository,
        TargetPlatformBuilder resolutionContext, MavenSession session) {
    try {//from  w w w  .ja v a2 s . co  m
        URI uri = new URL(repository.getUrl()).toURI();

        if (repository.getLayout() instanceof P2ArtifactRepositoryLayout) {
            if (session.isOffline()) {
                getLogger().debug("Offline mode, using local cache only for repository " + repository.getId()
                        + " (" + repository.getUrl() + ")");
            }

            try {
                Authentication auth = repository.getAuthentication();
                if (auth != null) {
                    resolutionContext.setCredentials(uri, auth.getUsername(), auth.getPassword());
                }

                resolutionContext.addP2Repository(uri);

                getLogger()
                        .debug("Added p2 repository " + repository.getId() + " (" + repository.getUrl() + ")");
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    } catch (MalformedURLException e) {
        getLogger().warn("Could not parse repository URL", e);
    } catch (URISyntaxException e) {
        getLogger().warn("Could not parse repository URL", e);
    }
}

From source file:org.eclipse.tycho.versionbump.UpdateProductMojo.java

License:Open Source License

@Override
protected void doUpdate(P2ResolverFactory factory) throws IOException, URISyntaxException {
    P2Resolver p2 = newResolver(factory);

    for (ArtifactRepository repository : project.getRemoteArtifactRepositories()) {
        URI uri = new URL(repository.getUrl()).toURI();

        if (repository.getLayout() instanceof P2ArtifactRepositoryLayout) {
            Authentication auth = repository.getAuthentication();
            if (auth != null) {
                p2.setCredentials(uri, auth.getUsername(), auth.getPassword());
            }/*from w  w w  . j  a  v  a2 s . c  om*/

            p2.addP2Repository(uri);
        }
    }

    ProductConfiguration product = ProductConfiguration.read(productFile);

    for (PluginRef plugin : product.getPlugins()) {
        p2.addDependency(P2Resolver.TYPE_ECLIPSE_PLUGIN, plugin.getId(), "0.0.0");
    }

    P2ResolutionResult result = p2.resolveMetadata(getEnvironments().get(0));

    Map<String, String> ius = new HashMap<String, String>();
    for (P2ResolutionResult.Entry entry : result.getArtifacts()) {
        ius.put(entry.getId(), entry.getVersion());
    }

    for (PluginRef plugin : product.getPlugins()) {
        String version = ius.get(plugin.getId());
        if (version != null) {
            plugin.setVersion(version);
        }
    }

    ProductConfiguration.write(product, productFile);
}

From source file:org.jclarity.GitReleaseRollback.java

License:Apache License

protected void deleteDeployment() {
    String version = releaseProperties
            .getProperty("project.rel." + project.getGroupId() + ":" + project.getArtifactId());

    ArtifactRepository releaseArtifactRepository = getReleaseRepo();

    if (releaseArtifactRepository == null) {
        getLog().warn("Failed to find the release repo, any released artifacts will not be deleted");
        return;//from   w  w  w. j av  a 2  s.  c om
    }

    String username = releaseArtifactRepository.getAuthentication().getUsername();
    String password = releaseArtifactRepository.getAuthentication().getPassword();

    String url = releaseArtifactRepository.getUrl() + "/" + project.getGroupId() + "/" + project.getArtifactId()
            + "/" + version;

    try {
        int resposeCode = Executor.newInstance().auth(username, password).execute(Request.Delete(url))
                .returnResponse().getStatusLine().getStatusCode();

        if (resposeCode != HttpStatus.SC_NO_CONTENT) {
            getLog().warn("Could not delete artifact, it may not have been deployed");
        }
    } catch (Exception e) {
        getLog().warn("Failed to delete artifact");
    }

}