# Interface Launchable

All Superinterfaces:
  `ProjectModel`

All Known Subinterfaces:
  `GradleTask, Task, TaskSelector`

public interface Launchable extends ProjectModel
Represents an object that can be used to launch a Gradle build, such as a task.

To launch a build, you pass one or more `Launchable` instances to either `BuildLauncher.forTasks(Iterable)` or `BuildLauncher.forLaunchables(Iterable)`.

Since:
  1.12

- ## Method Summary

  Modifier and Type
  Method
  Description
  `@Nullable String`
  `getDescription()`
  Returns the description of this launchable, or `null` if it has no description.
  `String`
  `getDisplayName()`
  Returns a human-consumable display name for this launchable.
  `ProjectIdentifier`
  `getProjectIdentifier()`
  Returns the identifier for the Gradle project that this model originated from.
  `boolean`
  `isPublic()`
  Returns whether launchable is public or not.

- ## Method Details

  - ### getProjectIdentifier

    ProjectIdentifier getProjectIdentifier()
    Returns the identifier for the Gradle project that this model originated from.
    Specified by:
      `getProjectIdentifier` in interface `ProjectModel`
    Since:
      2.13

  - ### getDisplayName

    String getDisplayName()
    Returns a human-consumable display name for this launchable.
    Returns:
      Display name of this launchable.
    Since:
      1.12

  - ### getDescription

    @Nullable String getDescription()
    Returns the description of this launchable, or `null` if it has no description.
    Returns:
      The description of this launchable, or `null` if it has no description.
    Since:
      1.12

  - ### isPublic

    boolean isPublic()
    Returns whether launchable is public or not. A public launchable is one that is considered a public 'entry point' to the build, that is interesting for an end user of the build to run.
    Returns:
      Public property.
    Since:
      2.1