@@ -20,7 +20,10 @@ import org.gradle.api.plugins.ExtensionAware
2020import org.gradle.api.plugins.JavaPlugin
2121import org.gradle.api.plugins.JavaPlugin.*
2222import org.gradle.api.provider.Provider
23- import org.gradle.api.tasks.*
23+ import org.gradle.api.tasks.ClasspathNormalizer
24+ import org.gradle.api.tasks.PathSensitivity
25+ import org.gradle.api.tasks.SourceSetContainer
26+ import org.gradle.api.tasks.TaskProvider
2427import org.gradle.api.tasks.bundling.Jar
2528import org.gradle.api.tasks.bundling.Zip
2629import org.gradle.api.tasks.compile.JavaCompile
@@ -51,7 +54,6 @@ import org.jetbrains.intellij.IntelliJPluginConstants.EXTENSION_NAME
5154import org.jetbrains.intellij.IntelliJPluginConstants.IDEA_CONFIGURATION_NAME
5255import org.jetbrains.intellij.IntelliJPluginConstants.IDEA_GRADLE_PLUGIN_ID
5356import org.jetbrains.intellij.IntelliJPluginConstants.IDEA_PLUGINS_CONFIGURATION_NAME
54- import org.jetbrains.intellij.IntelliJPluginConstants.IDEA_PRODUCTS_RELEASES_URL
5557import org.jetbrains.intellij.IntelliJPluginConstants.INITIALIZE_INTELLIJ_PLUGIN_TASK_NAME
5658import org.jetbrains.intellij.IntelliJPluginConstants.INSTRUMENTED_JAR_CONFIGURATION_NAME
5759import org.jetbrains.intellij.IntelliJPluginConstants.INSTRUMENTED_JAR_PREFIX
@@ -74,7 +76,6 @@ import org.jetbrains.intellij.IntelliJPluginConstants.PLATFORM_TYPE_INTELLIJ_COM
7476import org.jetbrains.intellij.IntelliJPluginConstants.PLATFORM_TYPE_PHPSTORM
7577import org.jetbrains.intellij.IntelliJPluginConstants.PLATFORM_TYPE_PYCHARM
7678import org.jetbrains.intellij.IntelliJPluginConstants.PLATFORM_TYPE_RIDER
77- import org.jetbrains.intellij.IntelliJPluginConstants.PLUGIN_GROUP_NAME
7879import org.jetbrains.intellij.IntelliJPluginConstants.PLUGIN_NAME
7980import org.jetbrains.intellij.IntelliJPluginConstants.PLUGIN_VERIFIER_REPOSITORY
8081import org.jetbrains.intellij.IntelliJPluginConstants.PLUGIN_XML_DIR_NAME
@@ -1442,28 +1443,13 @@ abstract class IntelliJPlugin : Plugin<Project> {
14421443 info(context, " Configuring list products task" )
14431444
14441445 val patchPluginXmlTaskProvider = project.tasks.named<PatchPluginXmlTask >(PATCH_PLUGIN_XML_TASK_NAME )
1445-
1446- val downloadIdeaProductReleasesXml = project.tasks.register<Sync >(DOWNLOAD_IDE_PRODUCT_RELEASES_XML_TASK_NAME ) {
1447- group = PLUGIN_GROUP_NAME
1448- // TODO: migrate to `project.resources.binary` whenever it's available. Ref: https://github.com/gradle/gradle/issues/25237
1449- from(
1450- project.resources.text
1451- .fromUri(IDEA_PRODUCTS_RELEASES_URL )
1452- .runCatching { asFile(" UTF-8" ) }
1453- .onFailure { error(context, " Cannot resolve product releases" , it) }
1454- .getOrDefault(" <products />" )
1455- ) {
1456- rename { " idea_product_releases.xml" }
1457- }
1458- into(temporaryDir)
1459- }
1460-
1446+ val downloadIdeaProductReleasesXmlTaskProvider = project.tasks.register<DownloadIdeaProductReleasesXmlTask >(DOWNLOAD_IDE_PRODUCT_RELEASES_XML_TASK_NAME )
14611447 val listProductsReleasesTaskProvider = project.tasks.register<ListProductsReleasesTask >(LIST_PRODUCTS_RELEASES_TASK_NAME ) {
14621448 val taskContext = logCategory()
14631449
14641450 productsReleasesUpdateFiles
14651451 .from(updatePaths)
1466- .from(downloadIdeaProductReleasesXml .map {
1452+ .from(downloadIdeaProductReleasesXmlTaskProvider .map {
14671453 it.outputs.files.asFileTree
14681454 })
14691455 androidStudioUpdatePath.convention(project.provider {
@@ -1477,6 +1463,7 @@ abstract class IntelliJPlugin : Plugin<Project> {
14771463 untilBuild.convention(patchPluginXmlTaskProvider.flatMap { it.untilBuild })
14781464 releaseChannels.convention(EnumSet .allOf(ListProductsReleasesTask .Channel ::class .java))
14791465
1466+ dependsOn(DOWNLOAD_IDE_PRODUCT_RELEASES_XML_TASK_NAME )
14801467 dependsOn(PATCH_PLUGIN_XML_TASK_NAME )
14811468 }
14821469
0 commit comments