String getRepositoryKey( ArtifactRepository repository ) { StringBuilder buffer = new StringBuilder( 256 ); Proxy proxy = repository.getProxy(); if ( proxy != null ) { if ( proxy.getUserName() != null ) { int hash = ( proxy.getUserName() + proxy.getPassword() ).hashCode(); buffer.append( hash ).append( '@' ); } buffer.append( proxy.getHost() ).append( ':' ).append( proxy.getPort() ).append( '>' ); } // consider the username&password because a repo manager might block artifacts depending on authorization Authentication auth = repository.getAuthentication(); if ( auth != null ) { int hash = ( auth.getUsername() + auth.getPassword() ).hashCode(); buffer.append( hash ).append( '@' ); } // consider the URL (instead of the id) as this most closely relates to the contents in the repo buffer.append( repository.getUrl() ); return buffer.toString(); }
private AuthenticationInfo authenticationInfo( ArtifactRepository repository ) { AuthenticationInfo ai = new AuthenticationInfo(); ai.setUserName( repository.getAuthentication().getUsername() ); ai.setPassword( repository.getAuthentication().getPassword() ); return ai; }
private static Authentication toAuthentication( org.apache.maven.artifact.repository.Authentication auth ) { Authentication result = null; if ( auth != null ) { AuthenticationBuilder authBuilder = new AuthenticationBuilder(); authBuilder.addUsername( auth.getUsername() ).addPassword( auth.getPassword() ); authBuilder.addPrivateKey( auth.getPrivateKey(), auth.getPassphrase() ); result = authBuilder.build(); } return result; }
private String getLastUpdatedKey(ArtifactRepository repository, Artifact artifact) { StringBuilder key = new StringBuilder(); // repository part key.append(repository.getId()); 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(); }
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()); } 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; }
public void remoteRepository(ArtifactRepository repo) { RemoteRepository.Builder builder = new RemoteRepository.Builder(repo.getId(), "default", repo.getUrl()); final Authentication mavenAuth = repo.getAuthentication(); if (mavenAuth != null && mavenAuth.getUsername() != null && mavenAuth.getPassword() != null) { builder.setAuthentication(new AuthenticationBuilder() .addUsername(mavenAuth.getUsername()) .addPassword(mavenAuth.getPassword()).build()); } this.remoteRepositories.add(builder.build()); }
private static Authentication toAuthentication(org.apache.maven.artifact.repository.Authentication auth) { Authentication result = null; if (auth != null) { AuthenticationBuilder authBuilder = new AuthenticationBuilder(); authBuilder.addUsername(auth.getUsername()).addPassword(auth.getPassword()); authBuilder.addPrivateKey(auth.getPrivateKey(), auth.getPassphrase()); result = authBuilder.build(); } return result; }
private static Authentication toAuthentication(org.apache.maven.artifact.repository.Authentication auth) { Authentication result = null; if (auth != null) { AuthenticationBuilder authBuilder = new AuthenticationBuilder(); authBuilder.addUsername(auth.getUsername()).addPassword(auth.getPassword()); authBuilder.addPrivateKey(auth.getPrivateKey(), auth.getPassphrase()); result = authBuilder.build(); } return result; }
/** * Builds a RemoteRepository for resolving artifacts. * * @param altRepository the repository identifier or alt-syntax specification * @return the resolve remote repository * @throws MojoExecutionException if the provided repository specification defines an invalid repository layout * @throws MojoFailureException if the provided repository specification is invalid */ RemoteRepository getRepository(final String altRepository) throws MojoExecutionException, MojoFailureException { if (getLog().isDebugEnabled()) { getLog().debug("Creating remote Aether repository (to resolve remote artifacts) for: " + altRepository); } // Get an appropriate injected ArtifactRepository. (This resolves authentication in the 'normal' manner from Maven) ArtifactRepository remoteArtifactRepo = getDeploymentRepository(altRepository); if (getLog().isDebugEnabled()) { getLog().debug("Resolved maven deployment repository. Transcribing to Aether Repository..."); } RemoteRepository.Builder remoteRepoBuilder = new RemoteRepository.Builder(remoteArtifactRepo.getId(), remoteArtifactRepo.getLayout().getId(), remoteArtifactRepo.getUrl()); // Add authentication. if (remoteArtifactRepo.getAuthentication() != null) { if (getLog().isDebugEnabled()) { getLog().debug("Maven deployment repsoitory has Authentication. Transcribing to Aether Authentication..."); } remoteRepoBuilder.setAuthentication(new AuthenticationBuilder().addUsername(remoteArtifactRepo.getAuthentication().getUsername()) .addPassword(remoteArtifactRepo.getAuthentication().getPassword()) .addPrivateKey(remoteArtifactRepo.getAuthentication().getPrivateKey(), remoteArtifactRepo.getAuthentication().getPassphrase()) .build()); } return remoteRepoBuilder.build(); }
private org.apache.maven.repository.Proxy proxy(MavenSettings settings, RepositorySystemSession session, RemoteRepository remote, ProxySelector proxy) { Proxy config = proxy.getProxy(remote); if (config == null) { return null; } org.apache.maven.repository.Proxy result = new org.apache.maven.repository.Proxy(); result.setHost(config.getHost()); if (config.getAuthentication() != null) { org.apache.maven.artifact.repository.Authentication auth = authentication( settings, session, new RemoteRepository.Builder(remote) .setAuthentication(config.getAuthentication()).build(), config.getAuthentication()); result.setUserName(auth.getUsername()); result.setPassword(auth.getPassword() != null ? auth.getPassword() : auth.getPassphrase()); } result.setProtocol(config.getType()); result.setPort(config.getPort()); return result; }