in intellij-plugin-verifier/verifier-cli/src/main/java/com/jetbrains/pluginverifier/tasks/checkIde/CheckIdeParamsBuilder.kt [34:72]
override fun build(opts: CmdOpts, freeArgs: List<String>): CheckIdeParams {
require(freeArgs.isNotEmpty()) { "You have to specify IDE to check. For example: \"java -jar verifier.jar check-ide ~/EAPs/idea-IU-133.439\"" }
OptionsParser.createIdeDescriptor(freeArgs[0], opts).closeOnException { ideDescriptor: IdeDescriptor ->
val externalClassesPackageFilter = OptionsParser.getExternalClassesPackageFilter(opts)
val problemsFilters = OptionsParser.getProblemsFilters(opts)
val pluginsSet = PluginsSet()
PluginsParsing(pluginRepository, archiveManager, reportage, pluginsSet).addPluginsFromCmdOpts(opts, ideDescriptor.ideVersion)
val missingCompatibleVersionsProblems = findMissingCompatibleVersionsProblems(ideDescriptor.ideVersion, pluginsSet)
val dependencyFinder = createIdeBundledOrPluginRepositoryDependencyFinder(ideDescriptor.ide, pluginRepository, pluginDetailsCache)
val classResolverProvider = DefaultClassResolverProvider(
dependencyFinder,
ideDescriptor,
externalClassesPackageFilter,
archiveManager = archiveManager,
)
val verificationDescriptors = pluginsSet.pluginsToCheck.map {
PluginVerificationDescriptor.IDE(ideDescriptor, classResolverProvider, it)
}
val verificationTarget = PluginVerificationTarget.IDE(ideDescriptor.ideVersion, ideDescriptor.jdkVersion)
pluginsSet.ignoredPlugins.forEach { (plugin, reason) ->
reportage.logPluginVerificationIgnored(plugin, verificationTarget, reason)
}
return CheckIdeParams(
verificationTarget,
verificationDescriptors,
problemsFilters,
missingCompatibleVersionsProblems,
ideDescriptor,
opts.excludeExternalBuildClassesSelector
)
}
}