``` val shadowJar = getTask<ShadowJar>("shad...
# gradle
m
Copy code
val shadowJar = getTask<ShadowJar>("shadowJar")
shadowJar.apply {
    manifest.attributes.put("Main-Class", "com.example.myapp.ApplicationKt")
}

/**
 * Fetches a task by [taskName] and casts to it's appropriate type [T]
 */
@Suppress("UNCHECKED_CAST")
fun <T : Task> getTask(taskName: String): T {
    return project.tasks.getByName(taskName) as T
}