override fun apply()

in plugins/src/main/java/com/google/gradle/plugins/MultiProjectPlugin.kt [46:83]


  override fun apply(project: Project) {
    with(project) {
      gradle.projectsEvaluated {
        tasks.register<CombineApiChangesTask>("warnAboutApiChanges") {
          val apiChangesTasks = subprojects.map { it.tasks.named("warnAboutApiChanges") }
          val files = apiChangesTasks.map { it.outputFile }.asSingleProvider()

          // TODO(b/332887819) - Remove when fixed
          dependsOn(apiChangesTasks)

          apiChangesFiles.set(files)
          outputFile.set(buildDir("api_changes.md"))
        }

        val makeReleaseNotesTask =
          tasks.register<CombineReleaseNotesTask>("makeReleaseNotes") {
            group = "publishing"

            val releaseNotesTasks = subprojects.map { it.tasks.named("makeReleaseNotes") }
            val files = releaseNotesTasks.map { it.outputFile }.asSingleProvider()

            // TODO(b/332887819) - Remove when fixed
            dependsOn(releaseNotesTasks)

            releaseNoteFiles.set(files)
            outputFile.set(buildDir("release_notes.md"))
          }

        tasks.register("prepareRelease") {
          group = "publishing"

          val prepareReleaseTasks = subprojects.map { it.tasks.named("prepareRelease") }

          dependsOn(prepareReleaseTasks, makeReleaseNotesTask)
        }
      }
    }
  }