fun download()

in plugin/src/main/kotlin/org/jetbrains/intellij/utils/Downloader.kt [12:32]


    fun download(url: String, intoHome: Boolean, destinationDirectory: File) {
        val markerFile = getMarkerFile(url, intoHome)
        if (markerFile.exists()) {
            logger.info("InspectionPlugin: No downloading needed.")
            return
        }
        val client = HttpClientBuilder.create().build()
        val request = HttpGet(url)
        request.addHeader("User-Agent", "User-Agent")
        val response = client.execute(request)
        destinationDirectory.deleteRecursively()
        destinationDirectory.mkdirs()
        val destination = File(destinationDirectory, "archive.zip")
        response.entity.content.use { input ->
            destination.outputStream().use { fileOut ->
                input.copyTo(fileOut)
            }
        }
        markerFile.parentFile.mkdirs()
        markerFile.createNewFile()
    }