Search in sources :

Example 1 with SettingsDecryptionResult

use of org.apache.maven.settings.crypto.SettingsDecryptionResult in project fabric8 by jboss-fuse.

the class AetherBasedResolver method decryptSettings.

private void decryptSettings() {
    SettingsDecryptionRequest request = new DefaultSettingsDecryptionRequest(m_settings);
    SettingsDecryptionResult result = decrypter.decrypt(request);
    m_settings.setProxies(result.getProxies());
    m_settings.setServers(result.getServers());
}
Also used : DefaultSettingsDecryptionRequest(org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest) DefaultSettingsDecryptionRequest(org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest) SettingsDecryptionRequest(org.apache.maven.settings.crypto.SettingsDecryptionRequest) SettingsDecryptionResult(org.apache.maven.settings.crypto.SettingsDecryptionResult)

Example 2 with SettingsDecryptionResult

use of org.apache.maven.settings.crypto.SettingsDecryptionResult in project spring-cloud-function by spring-cloud.

the class MavenSettingsReader method readSettings.

public MavenSettings readSettings() {
    Settings settings = loadSettings();
    SettingsDecryptionResult decrypted = decryptSettings(settings);
    if (!decrypted.getProblems().isEmpty()) {
        log.error("Maven settings decryption failed. Some Maven repositories may be inaccessible");
    // Continue - the encrypted credentials may not be used
    }
    return new MavenSettings(settings, decrypted);
}
Also used : SettingsDecryptionResult(org.apache.maven.settings.crypto.SettingsDecryptionResult) Settings(org.apache.maven.settings.Settings)

Example 3 with SettingsDecryptionResult

use of org.apache.maven.settings.crypto.SettingsDecryptionResult in project maven-archetype by apache.

the class RemoteCatalogArchetypeDataSource method getAuthenticationInfo.

private AuthenticationInfo getAuthenticationInfo(String id) {
    MavenSession session = legacySupport.getSession();
    if (session != null && id != null) {
        MavenExecutionRequest request = session.getRequest();
        if (request != null) {
            List<Server> servers = request.getServers();
            if (servers != null) {
                for (Server server : servers) {
                    if (id.equalsIgnoreCase(server.getId())) {
                        SettingsDecryptionResult result = settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(server));
                        server = result.getServer();
                        AuthenticationInfo authInfo = new AuthenticationInfo();
                        authInfo.setUserName(server.getUsername());
                        authInfo.setPassword(server.getPassword());
                        authInfo.setPrivateKey(server.getPrivateKey());
                        authInfo.setPassphrase(server.getPassphrase());
                        return authInfo;
                    }
                }
            }
        }
    }
    // empty one to prevent NPE
    return new AuthenticationInfo();
}
Also used : MavenSession(org.apache.maven.execution.MavenSession) Server(org.apache.maven.settings.Server) MavenExecutionRequest(org.apache.maven.execution.MavenExecutionRequest) DefaultSettingsDecryptionRequest(org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest) SettingsDecryptionResult(org.apache.maven.settings.crypto.SettingsDecryptionResult) AuthenticationInfo(org.apache.maven.wagon.authentication.AuthenticationInfo)

Example 4 with SettingsDecryptionResult

use of org.apache.maven.settings.crypto.SettingsDecryptionResult in project maven-plugins by apache.

the class GitHubDownloaderTestCase method testConfigureAuthenticationWithNoServer.

public void testConfigureAuthenticationWithNoServer() throws Exception {
    IssueManagement issueManagement = newGitHubIssueManagement();
    GitHubDownloader gitHubDownloader = newGitHubDownloader(issueManagement);
    Settings settings = new Settings();
    Server server = newServer("not-the-right-one");
    settings.addServer(server);
    SettingsDecrypter decrypter = mock(SettingsDecrypter.class);
    SettingsDecryptionResult result = mock(SettingsDecryptionResult.class);
    Log log = mock(Log.class);
    when(result.getProblems()).thenReturn(Collections.<SettingsProblem>emptyList());
    when(result.getServer()).thenReturn(server);
    when(decrypter.decrypt(new DefaultSettingsDecryptionRequest(server))).thenReturn(result);
    gitHubDownloader.configureAuthentication(decrypter, "github-server", settings, log);
    verify(log).warn("Can't find server id [github-server] configured in githubAPIServerId.");
}
Also used : Server(org.apache.maven.settings.Server) SettingsDecrypter(org.apache.maven.settings.crypto.SettingsDecrypter) Log(org.apache.maven.plugin.logging.Log) DefaultSettingsDecryptionRequest(org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest) SettingsDecryptionResult(org.apache.maven.settings.crypto.SettingsDecryptionResult) IssueManagement(org.apache.maven.model.IssueManagement) Settings(org.apache.maven.settings.Settings)

Example 5 with SettingsDecryptionResult

use of org.apache.maven.settings.crypto.SettingsDecryptionResult in project maven-plugins by apache.

the class AbstractScmPublishMojo method setupScm.

private ReleaseDescriptor setupScm() throws ScmRepositoryException, NoSuchScmProviderException {
    String scmUrl;
    if (localCheckout) {
        // in the release phase we have to change the checkout URL
        // to do a local checkout instead of going over the network.
        String provider = ScmUrlUtils.getProvider(pubScmUrl);
        String delimiter = ScmUrlUtils.getDelimiter(pubScmUrl);
        String providerPart = "scm:" + provider + delimiter;
        // X TODO: also check the information from releaseDescriptor.getScmRelativePathProjectDirectory()
        // X TODO: in case our toplevel git directory has no pom.
        // X TODO: fix pathname once I understand this.
        scmUrl = providerPart + "file://" + "target/localCheckout";
        logInfo("Performing a LOCAL checkout from " + scmUrl);
    }
    ReleaseDescriptor releaseDescriptor = new ReleaseDescriptor();
    releaseDescriptor.setInteractive(settings.isInteractiveMode());
    if (username == null || password == null) {
        for (Server server : settings.getServers()) {
            if (server.getId().equals(serverId)) {
                SettingsDecryptionRequest decryptionRequest = new DefaultSettingsDecryptionRequest(server);
                SettingsDecryptionResult decryptionResult = settingsDecrypter.decrypt(decryptionRequest);
                if (!decryptionResult.getProblems().isEmpty()) {
                // todo throw exception?
                }
                if (username == null) {
                    username = decryptionResult.getServer().getUsername();
                }
                if (password == null) {
                    password = decryptionResult.getServer().getPassword();
                }
                break;
            }
        }
    }
    releaseDescriptor.setScmPassword(password);
    releaseDescriptor.setScmUsername(username);
    releaseDescriptor.setWorkingDirectory(basedir.getAbsolutePath());
    releaseDescriptor.setLocalCheckout(localCheckout);
    releaseDescriptor.setScmSourceUrl(pubScmUrl);
    if (providerImplementations != null) {
        for (Map.Entry<String, String> providerEntry : providerImplementations.entrySet()) {
            logInfo("Changing the default '%s' provider implementation to '%s'.", providerEntry.getKey(), providerEntry.getValue());
            scmManager.setScmProviderImplementation(providerEntry.getKey(), providerEntry.getValue());
        }
    }
    scmRepository = scmRepositoryConfigurator.getConfiguredRepository(releaseDescriptor, settings);
    scmProvider = scmRepositoryConfigurator.getRepositoryProvider(scmRepository);
    return releaseDescriptor;
}
Also used : Server(org.apache.maven.settings.Server) DefaultSettingsDecryptionRequest(org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest) DefaultSettingsDecryptionRequest(org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest) SettingsDecryptionRequest(org.apache.maven.settings.crypto.SettingsDecryptionRequest) SettingsDecryptionResult(org.apache.maven.settings.crypto.SettingsDecryptionResult) ReleaseDescriptor(org.apache.maven.shared.release.config.ReleaseDescriptor) Map(java.util.Map)

Aggregations

SettingsDecryptionResult (org.apache.maven.settings.crypto.SettingsDecryptionResult)17 DefaultSettingsDecryptionRequest (org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest)13 Server (org.apache.maven.settings.Server)8 Settings (org.apache.maven.settings.Settings)4 SettingsProblem (org.apache.maven.settings.building.SettingsProblem)4 SettingsDecryptionRequest (org.apache.maven.settings.crypto.SettingsDecryptionRequest)4 MavenExecutionRequest (org.apache.maven.execution.MavenExecutionRequest)3 Proxy (org.apache.maven.settings.Proxy)3 SettingsDecrypter (org.apache.maven.settings.crypto.SettingsDecrypter)3 MavenSession (org.apache.maven.execution.MavenSession)2 IssueManagement (org.apache.maven.model.IssueManagement)2 Log (org.apache.maven.plugin.logging.Log)2 ProxyInfo (org.apache.maven.wagon.proxy.ProxyInfo)2 Field (java.lang.reflect.Field)1 MalformedURLException (java.net.MalformedURLException)1 URL (java.net.URL)1 Map (java.util.Map)1 DefaultSettingsProblem (org.apache.maven.settings.building.DefaultSettingsProblem)1 DefaultSettingsDecrypter (org.apache.maven.settings.crypto.DefaultSettingsDecrypter)1 ReleaseDescriptor (org.apache.maven.shared.release.config.ReleaseDescriptor)1