Search in sources :

Example 1 with Signer

use of aQute.maven.nexus.provider.Signer in project bnd by bndtools.

the class NexusCommand method _sign.

public void _sign(SignOptions options) throws Exception {
    String password = null;
    if (options.password() == null) {
        Console console = System.console();
        if (console == null) {
            error("No -p/--password set for PGP key and no console to ask");
        } else {
            char[] pw = console.readPassword("Passsword: ");
            if (pw == null || pw.length == 0) {
                error("Password not entered");
            }
            password = new String(pw);
        }
    } else
        password = options.password();
    Signer signer = new Signer(new String(password), options.command(getProperty("gpg", System.getenv("GPG"))));
    if (signer == null || password == null || !isOk())
        return;
    List<String> args = options._arguments();
    if (args.isEmpty()) {
        List<URI> files = nexus.files();
        for (URI uri : files) {
            try {
                logger.debug("signing {}", relative(uri));
                File f = nexus.download(uri);
                byte[] signature = signer.sign(f);
                if (options.show())
                    show(signature);
                else
                    nexus.upload(new URI(uri + ".asc"), signature);
            } catch (Exception e) {
                exception(e, "could not download/sign/upload %s", relative(uri));
            }
        }
    } else {
        for (String arg : args) {
            File f = getFile(arg);
            if (!f.isFile()) {
                error("Can't find file %s", f);
            } else {
                byte[] signature = signer.sign(f);
                if (options.show())
                    show(signature);
                else {
                    File out = new File(f.getParentFile(), f.getName() + ".asc");
                    IO.store(signature, out);
                }
            }
        }
    }
}
Also used : Signer(aQute.maven.nexus.provider.Signer) Console(java.io.Console) URI(java.net.URI) File(java.io.File) IOException(java.io.IOException)

Aggregations

Signer (aQute.maven.nexus.provider.Signer)1 Console (java.io.Console)1 File (java.io.File)1 IOException (java.io.IOException)1 URI (java.net.URI)1