mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Build scripts: simplify download jbre tasks, introduce jbre group
This commit is contained in:
@@ -1,31 +1,34 @@
|
||||
task setupJbre {}
|
||||
buildscript {
|
||||
repositories {
|
||||
maven { url "http://repo.labs.intellij.net/plugins-gradle-org/" }
|
||||
maven { url "https://plugins.gradle.org/m2/" }
|
||||
}
|
||||
dependencies {
|
||||
classpath "de.undercouch:gradle-download-task:3.2.0"
|
||||
}
|
||||
}
|
||||
apply plugin: "de.undercouch.download"
|
||||
|
||||
def jdkRepo = inJetBrainsNetwork ? 'http://repo.labs.intellij.net/intellij-jdk' : 'https://dl.bintray.com/jetbrains/intellij-jdk'
|
||||
import de.undercouch.gradle.tasks.download.Download
|
||||
import org.jetbrains.intellij.build.DependenciesBuildUtils
|
||||
|
||||
task setupJbre {}
|
||||
|
||||
jrePlatformsToDownload(targetOs).each { platform ->
|
||||
archToDownload(platform).each { arch ->
|
||||
def jbrexArtifactName = "jbrex8${jdkBuild}_${platform}_$arch"
|
||||
def jbreArtifactName = "jbre8${jdkBuild}_${platform}_$arch"
|
||||
|
||||
task("downloadJbrex_${platform}_$arch") {
|
||||
def outputDir = "$project.buildDir/jbre"
|
||||
def outputFile = "$outputDir/${jbrexArtifactName}_origin.tar.gz"
|
||||
|
||||
task("downloadJbrex_${platform}_$arch", type: Download, group: 'jbre') {
|
||||
inputs.property('build', jdkBuild)
|
||||
outputs.file(outputFile)
|
||||
doLast {
|
||||
logger.info("Downloading $jbrexArtifactName to $outputFile")
|
||||
download {
|
||||
src "$jdkRepo/${jbrexArtifactName}.tar.gz"
|
||||
dest outputFile
|
||||
onlyIfNewer true
|
||||
}
|
||||
}
|
||||
src "$DependenciesBuildUtils.jdkRepo/${jbrexArtifactName}.tar.gz"
|
||||
dest "$buildDir/jbre/${jbrexArtifactName}_origin.tar.gz"
|
||||
onlyIfNewer true
|
||||
}
|
||||
cleanSetupJbre.dependsOn("cleanDownloadJbrex_${platform}_$arch")
|
||||
|
||||
if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
|
||||
task("untarJbrex_${platform}_$arch", type: Copy, dependsOn: "downloadJbrex_${platform}_$arch") {
|
||||
task("untarJbrex_${platform}_$arch", type: Copy, dependsOn: "downloadJbrex_${platform}_$arch", group: 'jbre') {
|
||||
def downloadOutputs = tasks["downloadJbrex_${platform}_$arch"].outputs.files
|
||||
from tarTree(downloadOutputs.singleFile), {
|
||||
exclude 'lib/tools.jar'
|
||||
@@ -39,7 +42,7 @@ jrePlatformsToDownload(targetOs).each { platform ->
|
||||
}
|
||||
}
|
||||
else {
|
||||
task("untarJbrex_${platform}_$arch", type: Exec, dependsOn: "downloadJbrex_${platform}_$arch") {
|
||||
task("untarJbrex_${platform}_$arch", type: Exec, dependsOn: "downloadJbrex_${platform}_$arch", group: 'jbre') {
|
||||
def downloadOutputs = tasks["downloadJbrex_${platform}_$arch"].outputs.files
|
||||
def outputDir = "${downloadOutputs.singleFile.absolutePath - '.tar.gz'}"
|
||||
inputs.file(downloadOutputs.singleFile)
|
||||
@@ -47,11 +50,11 @@ jrePlatformsToDownload(targetOs).each { platform ->
|
||||
doFirst { exec { commandLine 'mkdir', '-p', outputDir } }
|
||||
commandLine 'tar', '-xpf', "${downloadOutputs.singleFile.absolutePath}", '--directory', outputDir
|
||||
if (platform != 'osx') {
|
||||
doLast {
|
||||
exec {
|
||||
doLast {
|
||||
exec {
|
||||
commandLine 'mv', "$outputDir/lib/tools.jar", "$outputDir/jre/lib/"
|
||||
ignoreExitValue = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,7 +73,7 @@ def createTarJbreTask(String taskName, String untarTaskName, String platform, St
|
||||
def dirToTar = platform == 'osx' ? 'jdk' : 'jre'
|
||||
|
||||
if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
|
||||
task(taskName, type: Tar) {
|
||||
task(taskName, type: Tar, group: 'jbre') {
|
||||
def untarOutputs = tasks[untarTaskName].outputs.files
|
||||
inputs.file(untarOutputs)
|
||||
from "$untarOutputs.singleFile/$dirToTar"
|
||||
@@ -84,7 +87,7 @@ def createTarJbreTask(String taskName, String untarTaskName, String platform, St
|
||||
}
|
||||
}
|
||||
else {
|
||||
task(taskName, type: Exec) {
|
||||
task(taskName, type: Exec, group: 'jbre') {
|
||||
def untarOutputs = tasks[untarTaskName].outputs.files
|
||||
def outputFile = "${untarOutputs.singleFile.parentFile}/${archiveName}.tar.gz"
|
||||
inputs.files(untarOutputs)
|
||||
|
||||
Reference in New Issue
Block a user