private ScmRepository getScmRepository()

in wagon-providers/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java [256:300]


    private ScmRepository getScmRepository(String url) throws ScmRepositoryException, NoSuchScmProviderException {
        String username = null;

        String password = null;

        String privateKey = null;

        String passphrase = null;

        if (authenticationInfo != null) {
            username = authenticationInfo.getUserName();

            password = authenticationInfo.getPassword();

            privateKey = authenticationInfo.getPrivateKey();

            passphrase = authenticationInfo.getPassphrase();
        }

        ScmRepository scmRepository = getScmManager().makeScmRepository(url);

        ScmProviderRepository providerRepository = scmRepository.getProviderRepository();

        if (username != null && !username.isEmpty()) {
            providerRepository.setUser(username);
        }

        if (password != null && !password.isEmpty()) {
            providerRepository.setPassword(password);
        }

        if (providerRepository instanceof ScmProviderRepositoryWithHost) {
            ScmProviderRepositoryWithHost providerRepo = (ScmProviderRepositoryWithHost) providerRepository;

            if (privateKey != null && !privateKey.isEmpty()) {
                providerRepo.setPrivateKey(privateKey);
            }

            if (passphrase != null && !passphrase.isEmpty()) {
                providerRepo.setPassphrase(passphrase);
            }
        }

        return scmRepository;
    }