# The Announce Plugin

The Gradle announce plugin allows you to send custom announcements during a build. The following notification systems are supported:

- Twitter

- notify-send (Ubuntu)

- Snarl (Windows)

- Growl (macOS)

## Usage

To use the announce plugin, apply it to your build script:

### Example: Applying the announce plugin

build.gradle

    apply plugin: 'announce'

## Configuration

✨ | See also the AnnouncePluginExtension class in the API documentation.

Configure your notification service(s) of choice (see table below for which configuration properties are available):

### Example: Configure the announce plugin

build.gradle

    announce {
      username = 'myId'
      password = 'myPassword'
    }

Finally, send announcements with the `announce` method:

### Example: Using the announce plugin

build.gradle

    task helloWorld {
        doLast {
            println "Hello, world!"
        }
    }

    helloWorld.doLast {
        announce.announce("helloWorld completed!", "twitter")
        announce.announce("helloWorld completed!", "local")
    }

The `announce` method takes two String arguments: The message to be sent, and the notification service to be used. The following list shows supported notification services and their configuration properties.

### Supported notification services

`twitter`

  Works on all operating systems. Requires `username` and `password`.

`snarl`

  Windows only. Requires no extra configuration.

`growl`

  macOS only. Requires no extra configuration.

`notify-send`

  Ubuntu only. Requires the notify-send package to be installed. Use `sudo apt-get install libnotify-bin` to install it.

`local`

  Automatically chooses between snarl, growl, and notify-send depending on the current operating system.