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()
}