override fun execute()

in intellij-plugin-verifier/verifier-cli/src/main/java/com/jetbrains/pluginverifier/tasks/checkTrunkApi/CheckTrunkApiTask.kt [20:62]


  override fun execute(
    reportage: PluginVerificationReportage,
    pluginDetailsCache: PluginDetailsCache
  ): TwoTargetsVerificationResults {
    with(parameters) {
      val classFilters = listOf(DynamicallyLoadedFilter())

      val verifiers = arrayListOf<PluginVerifier>()
      verifiers += releaseVerificationDescriptors.map {
        PluginVerifier(
          it,
          problemsFilters,
          pluginDetailsCache,
          classFilters,
          excludeExternalBuildClassesSelector
        )
      }

      verifiers += trunkVerificationDescriptors.map {
        PluginVerifier(
          it,
          problemsFilters,
          pluginDetailsCache,
          classFilters,
          excludeExternalBuildClassesSelector
        )
      }

      /*
       * Sort verification tasks to increase chances that two verifications of the same plugin
       * would be executed shortly, and therefore caches, such as plugin details cache, would be warmed-up.
       */
      val sortedVerifiers = verifiers.sortedBy { it.verificationDescriptor.checkedPlugin.pluginId }
      val results = runSeveralVerifiers(reportage, sortedVerifiers)

      return TwoTargetsVerificationResults(
        releaseVerificationTarget,
        results.filter { it.verificationTarget == releaseVerificationTarget },
        trunkVerificationTarget,
        results.filter { it.verificationTarget == trunkVerificationTarget }
      )
    }
  }