All Downloads are FREE. Search and download functionalities are using the official Maven repository.

be.tomcools.jreleaser.asciiart.AsciiArtSteps Maven / Gradle / Ivy

package be.tomcools.jreleaser.asciiart;

import org.jreleaser.extensions.api.Extension;
import org.jreleaser.extensions.api.ExtensionPoint;
import org.jreleaser.extensions.api.workflow.WorkflowListener;
import org.jreleaser.model.api.JReleaserContext;
import org.jreleaser.model.api.announce.Announcer;
import org.jreleaser.model.api.assemble.Assembler;
import org.jreleaser.model.api.catalog.Cataloger;
import org.jreleaser.model.api.deploy.Deployer;
import org.jreleaser.model.api.distributions.Distribution;
import org.jreleaser.model.api.download.Downloader;
import org.jreleaser.model.api.hooks.ExecutionEvent;
import org.jreleaser.model.api.packagers.Packager;
import org.jreleaser.model.api.release.Releaser;
import org.jreleaser.model.api.upload.Uploader;
import org.kordamp.jipsy.annotations.ServiceProviderFor;

import java.util.HashSet;
import java.util.Set;

import static org.jreleaser.model.api.hooks.ExecutionEvent.Type.BEFORE;

@ServiceProviderFor(Extension.class)
public final class AsciiArtSteps implements Extension {
    @Override
    public String getName() {
        // provide a name, used for matching the name in the configuration DSL
        return "ascii-art-steps";
    }

    @Override
    public Set provides() {
        HashSet extensions = new HashSet<>();
        extensions.add(new AsciiArtStepsExtensionPoint());
        return extensions;
    }

    class AsciiArtStepsExtensionPoint implements WorkflowListener {

        @Override
        public boolean isContinueOnError() {
            return false;
        }

        @Override
        public void onSessionStart(JReleaserContext jReleaserContext) {
                System.out.println("""
                       __  .______       _______  __       _______     ___           _______. _______ .______     \s
                      |  | |   _  \\     |   ____||  |     |   ____|   /   \\         /       ||   ____||   _  \\    \s
                      |  | |  |_)  |    |  |__   |  |     |  |__     /  ^  \\       |   (----`|  |__   |  |_)  |   \s
                .--.  |  | |      /     |   __|  |  |     |   __|   /  /_\\  \\       \\   \\    |   __|  |      /    \s
                |  `--'  | |  |\\  \\----.|  |____ |  `----.|  |____ /  _____  \\  .----)   |   |  |____ |  |\\  \\----.
                 \\______/  | _| `._____||_______||_______||_______/__/     \\__\\ |_______/    |_______|| _| `._____|
                                                """);
        }

        @Override
        public void onSessionEnd(JReleaserContext jReleaserContext) {
        }

        @Override
        public void onWorkflowStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext) {
        }

        @Override
        public void onAnnounceStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Announcer announcer) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                         ___      .__   __. .__   __.   ______    __    __  .__   __.   ______  _______\s
                        /   \\     |  \\ |  | |  \\ |  |  /  __  \\  |  |  |  | |  \\ |  |  /      ||   ____|
                       /  ^  \\    |   \\|  | |   \\|  | |  |  |  | |  |  |  | |   \\|  | |  ,----'|  |__  \s
                      /  /_\\  \\   |  . `  | |  . `  | |  |  |  | |  |  |  | |  . `  | |  |     |   __| \s
                     /  _____  \\  |  |\\   | |  |\\   | |  `--'  | |  `--'  | |  |\\   | |  `----.|  |____\s
                    /__/     \\__\\ |__| \\__| |__| \\__|  \\______/   \\______/  |__| \\__|  \\______||_______|
                    """);
            }
        }

        @Override
        public void onAssembleStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Assembler assembler) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                             ___           _______.     _______. _______ .___  ___. .______    __       _______\s
                            /   \\         /       |    /       ||   ____||   \\/   | |   _  \\  |  |     |   ____|
                           /  ^  \\       |   (----`   |   (----`|  |__   |  \\  /  | |  |_)  | |  |     |  |__  \s
                          /  /_\\  \\       \\   \\        \\   \\    |   __|  |  |\\/|  | |   _  <  |  |     |   __| \s
                         /  _____  \\  .----)   |   .----)   |   |  |____ |  |  |  | |  |_)  | |  `----.|  |____\s
                        /__/     \\__\\ |_______/    |_______/    |_______||__|  |__| |______/  |_______||_______|
                        """);
            }
        }

        @Override
        public void onCatalogStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Cataloger cataloger) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                          ______     ___   .___________.    ___       __        ______     _______\s
                         /      |   /   \\  |           |   /   \\     |  |      /  __  \\   /  _____|
                        |  ,----'  /  ^  \\ `---|  |----`  /  ^  \\    |  |     |  |  |  | |  |  __ \s
                        |  |      /  /_\\  \\    |  |      /  /_\\  \\   |  |     |  |  |  | |  | |_ |\s
                        |  `----./  _____  \\   |  |     /  _____  \\  |  `----.|  `--'  | |  |__| |\s
                         \\______/__/     \\__\\  |__|    /__/     \\__\\ |_______| \\______/   \\______|\s
                        """);
            }
        }

        @Override
        public void onDeployStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Deployer deployer) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                         _______   _______ .______    __        ______   ____    ____\s
                        |       \\ |   ____||   _  \\  |  |      /  __  \\  \\   \\  /   /\s
                        |  .--.  ||  |__   |  |_)  | |  |     |  |  |  |  \\   \\/   / \s
                        |  |  |  ||   __|  |   ___/  |  |     |  |  |  |   \\_    _/  \s
                        |  '--'  ||  |____ |  |      |  `----.|  `--'  |     |  |    \s
                        |_______/ |_______|| _|      |_______| \\______/      |__|    \s
                                                """);
            }
        }

        @Override
        public void onDownloadStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Downloader downloader) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                         _______   ______   ____    __    ____ .__   __.  __        ______        ___       _______ \s
                        |       \\ /  __  \\  \\   \\  /  \\  /   / |  \\ |  | |  |      /  __  \\      /   \\     |       \\\s
                        |  .--.  |  |  |  |  \\   \\/    \\/   /  |   \\|  | |  |     |  |  |  |    /  ^  \\    |  .--.  |
                        |  |  |  |  |  |  |   \\            /   |  . `  | |  |     |  |  |  |   /  /_\\  \\   |  |  |  |
                        |  '--'  |  `--'  |    \\    /\\    /    |  |\\   | |  `----.|  `--'  |  /  _____  \\  |  '--'  |
                        |_______/ \\______/      \\__/  \\__/     |__| \\__| |_______| \\______/  /__/     \\__\\ |_______/\s
                        """);
            }
        }

        @Override
        public void onUploadStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Uploader uploader) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                         __    __  .______    __        ______        ___       _______ \s
                        |  |  |  | |   _  \\  |  |      /  __  \\      /   \\     |       \\\s
                        |  |  |  | |  |_)  | |  |     |  |  |  |    /  ^  \\    |  .--.  |
                        |  |  |  | |   ___/  |  |     |  |  |  |   /  /_\\  \\   |  |  |  |
                        |  `--'  | |  |      |  `----.|  `--'  |  /  _____  \\  |  '--'  |
                         \\______/  | _|      |_______| \\______/  /__/     \\__\\ |_______/\s
                                                """);
            }
        }

        @Override
        public void onReleaseStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Releaser releaser) {
            if (BEFORE == executionEvent.getType()) {
                System.out.println("""
                        .______       _______  __       _______     ___           _______. _______\s
                        |   _  \\     |   ____||  |     |   ____|   /   \\         /       ||   ____|
                        |  |_)  |    |  |__   |  |     |  |__     /  ^  \\       |   (----`|  |__  \s
                        |      /     |   __|  |  |     |   __|   /  /_\\  \\       \\   \\    |   __| \s
                        |  |\\  \\----.|  |____ |  `----.|  |____ /  _____  \\  .----)   |   |  |____\s
                        | _| `._____||_______||_______||_______/__/     \\__\\ |_______/    |_______|
                                                                        """);
            }
        }

        @Override
        public void onDistributionStart(JReleaserContext jReleaserContext, Distribution distribution) {

        }

        @Override
        public void onDistributionEnd(JReleaserContext jReleaserContext, Distribution distribution) {

        }

        @Override
        public void onPackagerPrepareStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Distribution distribution, Packager packager) {

        }

        @Override
        public void onPackagerPackageStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Distribution distribution, Packager packager) {

        }

        @Override
        public void onPackagerPublishStep(ExecutionEvent executionEvent, JReleaserContext jReleaserContext, Distribution distribution, Packager packager) {

        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy