Skip to content

Text-to-speech notifications for your Gradle build status.

License

Notifications You must be signed in to change notification settings

ThanosFisherman/serenador

Repository files navigation

Let me serenade you 🎶

Gradle Plugins Portal Hex.pm


🚨Currently functional on Mac OSX and Linux🚨

Serenador is a Gradle plugin that utilizes text-to-speech to give you feedback about your project's build status. Once installed you will be notified accordingly either when your build succeeds or fails. Inspired by saydle.

Demo

serenador_demo_3.mov

Prerequisites

MacOS

Serenador leverages say command on Mac PCs under the hood. Moreover it's highly recommended that you install the English (United States) -- Novelty voices via Accesibility settings for extra fun. 🥳

image

Linux (Preferably Ubuntu derivatives)

Serenador leverages spd-say command from speechd which usually comes pre-installed on most ubuntu-based distros. If it's not you can install it via the following command

sudo apt-get install speech-dispatcher

Windows

Under Construction...

Installation

Using the plugins DSL:

plugins {
  id("io.github.thanosfisherman.serenador") version "1.2"
}

Using the legacy plugin application:

buildscript {
  repositories {
    maven {
      url = uri("https://plugins.gradle.org/m2/")
    }
  }
  dependencies {
    classpath("io.github.thanosfisherman.serenador:serenador-plugin:1.2")
  }
}

apply(plugin = "io.github.thanosfisherman.serenador")

Usage

You don't really need to do anything else after installing (including) the plugin into your gradle scripts. However some basic configuration is also supported if you want to be adventurous enough!

serenadorExtension {
    shutTheFuckUp(true) // makes the plugin shut up

    // you can add your own phrases thus overriding the default ones.
    // once you do that serenador will use the default voice currently selected in your machine.
    phraseBook {
           addSuccessPhrase("Success1")
           addSuccessPhrase("Success2")
           addFailPhrase("EPIC FAIL 1")
           addFailPhrase("EPIC FAIL 2")
    }
}

License

License

Copyright 2021 Thanos Psaridis

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.