protected AbstractGpgSigner newSigner()

in src/main/java/org/apache/maven/plugins/gpg/AbstractGpgMojo.java [351:396]


    protected AbstractGpgSigner newSigner(MavenProject mavenProject) throws MojoFailureException {
        AbstractGpgSigner signer = createSigner(this.signer);

        signer.setLog(getLog());
        signer.setInteractive(settings.isInteractiveMode());
        signer.setKeyName(keyname);
        signer.setUseAgent(useAgent);
        signer.setHomeDirectory(homedir);
        signer.setDefaultKeyring(defaultKeyring);
        signer.setSecretKeyring(secretKeyring);
        signer.setPublicKeyring(publicKeyring);
        signer.setLockMode(lockMode);
        signer.setArgs(gpgArguments);
        signer.setTerminatePassphrase(terminatePassphrase);

        // "new way": env prevails
        String passphrase =
                (String) session.getRepositorySession().getConfigProperties().get("env." + passphraseEnvName);
        if (isNotBlank(passphrase)) {
            signer.setPassPhrase(passphrase);
        } else if (!bestPractices) {
            // "old way": mojo config
            passphrase = this.passphrase;
            if (isNotBlank(passphrase)) {
                logBestPracticeWarning("Mojo configuration");
                signer.setPassPhrase(passphrase);
            } else {
                // "old way": serverId + settings
                passphrase = loadGpgPassphrase();
                if (isNotBlank(passphrase)) {
                    logBestPracticeWarning("settings.xml");
                    signer.setPassPhrase(passphrase);
                } else {
                    // "old way": project properties
                    passphrase = getPassphrase(mavenProject);
                    if (isNotBlank(passphrase)) {
                        logBestPracticeWarning("Project properties");
                        signer.setPassPhrase(passphrase);
                    }
                }
            }
        }
        signer.prepare();

        return signer;
    }