IDEA-180474 Cleanup obsolete archives in jbre/jbsdk folders

GitOrigin-RevId: b973197c4a2fe8d15591815c82ec7014ab0d9ba4
This commit is contained in:
Ilia Shulgin
2020-05-01 09:40:21 +00:00
committed by intellij-monorepo-bot
parent 72649d04f0
commit e3c0306b43
3 changed files with 28 additions and 4 deletions
+13
View File
@@ -0,0 +1,13 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
project.ext.deleteObsoleteArchivesTask = { String type, String dir ->
// Delete all files older than 30 days except one with the latest modification date
tasks.create(name: "deleteObsolete${type}Archives", type: Delete) {
def deleteThreshold = new Date() - 30
delete fileTree(dir: dir)
.matching { include '*.tar.gz' }
.findAll { file -> new Date(file.lastModified()).before(deleteThreshold) }
.sort { file -> file.lastModified() }
.dropRight(1)
}
}
+8 -3
View File
@@ -1,7 +1,13 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
import java.util.concurrent.TimeUnit
task setupJbre()
apply from: 'archivesCleanup.gradle'
ext.jbreOutputDir = "$project.buildDir/jbre"
def deleteObsoleteJbreArchives = ext.deleteObsoleteArchivesTask('Jbre', jbreOutputDir)
task setupJbre() {
finalizedBy deleteObsoleteJbreArchives
}
def targetOs = System.getProperty("intellij.build.target.os", "all")
def jreVersion = System.getProperty("intellij.build.bundled.jre.version", "11").toInteger()
@@ -53,8 +59,7 @@ def jreUrl() {
}
def downloadJbrTask(String artifactName, String build) {
def outputDir = "$project.buildDir/jbre"
def outputFile = "$outputDir/${artifactName}.tar.gz"
def outputFile = "${jbreOutputDir}/${artifactName}.tar.gz"
task("download${artifactName.capitalize()}") {
inputs.property('build', build)
outputs.file(outputFile)
+7 -1
View File
@@ -5,6 +5,8 @@ import java.nio.file.Files
import java.nio.file.Paths
import java.util.concurrent.TimeUnit
apply from: 'archivesCleanup.gradle'
def jbrVersionToUnpack = System.getProperty('intellij.build.jdk.version', '8').toInteger()
task setupJdks(dependsOn: ["setupJbr$jbrVersionToUnpack"])
cleanSetupJdks.dependsOn('cleanSetupJbr8', 'cleanSetupJbr11', 'cleanDownloadJbr8', 'cleanDownloadJbr11', 'cleanSetupJdk16')
@@ -14,6 +16,9 @@ def jdkDir = System.getProperty('intellij.build.jdks.target.dir')?.with {
it
} ?: "${intellijProjectDir()}/build/jdk"
ext.jbsdkDir = "$project.buildDir/jbsdk"
def deleteObsoleteJdkArchives = ext.deleteObsoleteArchivesTask('Jdk', jbsdkDir)
/**
* Update this method together with:
* `setupJbre.gradle`
@@ -52,7 +57,7 @@ static def splitJbrBuild(String jreBuild, String version) {
def jbrUrl = jbrUrl(jbrVersion.toString(), jbrBuild.toString(), jbrArtifactPrefix)
def (update, buildNumber) = splitJbrBuild(jbrBuild.toString(), jbrVersion.toString())
def artifactName = "$jbrArtifactPrefix${update}-${platform}-${arch}-${buildNumber}.tar.gz"
def outputFile = "$project.buildDir/jbsdk/${artifactName}"
def outputFile = "$jbsdkDir/${artifactName}"
inputs.property('version', jbrVersion)
inputs.property('build', jbrBuild)
@@ -84,6 +89,7 @@ static def splitJbrBuild(String jreBuild, String version) {
}
}
setupJbr.finalizedBy(checkJbr(jbrVersion, jbrOutputDir))
setupJbr.finalizedBy(deleteObsoleteJdkArchives)
}
def unpackJdk(jbrArchive, outputDir) {