public File generateSignatureForArtifact()

in src/main/java/org/apache/maven/plugins/gpg/AbstractGpgSigner.java [135:177]


    public File generateSignatureForArtifact(File file) throws MojoExecutionException {
        // ----------------------------------------------------------------------------
        // Set up the file and directory for the signature file
        // ----------------------------------------------------------------------------

        File signature = new File(file + SIGNATURE_EXTENSION);

        boolean isInBuildDir = false;
        if (buildDir != null) {
            File parent = signature.getParentFile();
            if (buildDir.equals(parent)) {
                isInBuildDir = true;
            }
        }
        if (!isInBuildDir && outputDir != null) {
            String fileDirectory = "";
            File signatureDirectory = signature;

            while ((signatureDirectory = signatureDirectory.getParentFile()) != null) {
                if (isPossibleRootOfArtifact(signatureDirectory)) {
                    break;
                }
                fileDirectory = signatureDirectory.getName() + File.separatorChar + fileDirectory;
            }
            signatureDirectory = new File(outputDir, fileDirectory);
            if (!signatureDirectory.exists()) {
                signatureDirectory.mkdirs();
            }
            signature = new File(signatureDirectory, file.getName() + SIGNATURE_EXTENSION);
        }

        if (signature.exists()) {
            signature.delete();
        }

        // ----------------------------------------------------------------------------
        // Generate the signature file
        // ----------------------------------------------------------------------------

        generateSignatureForFile(file, signature);

        return signature;
    }