@Override
    public final void execute() throws MojoExecutionException, MojoFailureException {
        try {
            setup();
            doExecute();
        }
        catch (MojoFailureException | MojoExecutionException e) {
            throw e;
        }
        catch (Exception e) {
            String message = "Execution failed for application " + name() + ":\n" + Exceptions.toMessageString(e);
            if (e.getSuppressed().length > 0)
                message += "\nSuppressed:\n" + Stream.of(e.getSuppressed()).map(Exceptions::toMessageString).collect(joining("\n"));

            throw new MojoExecutionException(message, e);
        }
    }
Base class for hosted Vespa plugin mojos.

@author jonmv
vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/AbstractVespaMojo.java