public ScmRepository getScmRepository()

in src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java [907:968]


    public ScmRepository getScmRepository()
        throws ScmException
    {
        ScmRepository repository;

        try
        {
            repository = manager.makeScmRepository( getConnection() );

            ScmProviderRepository providerRepo = repository.getProviderRepository();

            if ( !( username == null || username.isEmpty() ) )
            {
                providerRepo.setUser( username );
            }

            if ( !( password == null || password.isEmpty() ) )
            {
                providerRepo.setPassword( password );
            }

            if ( repository.getProviderRepository() instanceof ScmProviderRepositoryWithHost )
            {
                ScmProviderRepositoryWithHost repo = (ScmProviderRepositoryWithHost) repository.getProviderRepository();

                loadInfosFromSettings( repo );

                if ( !( username == null || username.isEmpty() ) )
                {
                    repo.setUser( username );
                }

                if ( !( password == null || password.isEmpty() ) )
                {
                    repo.setPassword( password );
                }

                if ( !( privateKey == null || privateKey.isEmpty() ) )
                {
                    repo.setPrivateKey( privateKey );
                }

                if ( !( passphrase == null || passphrase.isEmpty() ) )
                {
                    repo.setPassphrase( passphrase );
                }
            }

            if ( !( tagBase == null || tagBase.isEmpty() ) && repository.getProvider().equals( "svn" ) )
            {
                SvnScmProviderRepository svnRepo = (SvnScmProviderRepository) repository.getProviderRepository();

                svnRepo.setTagBase( tagBase );
            }
        }
        catch ( Exception e )
        {
            throw new ScmException( "Can't load the scm provider.", e );
        }

        return repository;
    }