# The Announce Plugin

⚠ | This plugin is deprecated and will be removed in the next major Gradle release. New builds should not use this 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 1. Applying the announce plugin
build.gradle

    plugins {
        id 'announce'
    }

build.gradle.kts

    plugins {
        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 2. Configure the announce plugin
build.gradle

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

build.gradle.kts

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

Finally, send announcements with the `announce` method:

Example 3. Using the announce plugin
build.gradle

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

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

build.gradle.kts

    val helloWorld by tasks.registering {
        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.