diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 279f48a2e5ad..14a9ba34adb3 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -8,7 +8,6 @@
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 9cd02c270559..925853f02b9b 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -68,7 +68,6 @@
-
diff --git a/build/dependencies/build.gradle b/build/dependencies/build.gradle
index aee728d02d21..e885cd5caf23 100644
--- a/build/dependencies/build.gradle
+++ b/build/dependencies/build.gradle
@@ -36,6 +36,20 @@ apply plugin: 'base'
group 'com.intellij.build'
version '1.0'
+try {
+ project.ext.inJetBrainsNetwork = InetAddress.getByName("repo.labs.intellij.net").isReachable(1000)
+ if (!project.ext.inJetBrainsNetwork && org.gradle.internal.os.OperatingSystem.current().isWindows()) {
+ project.ext.inJetBrainsNetwork = Runtime.getRuntime().exec("ping -n 1 repo.labs.intellij.net").waitFor() == 0
+ }
+ if (!project.ext.inJetBrainsNetwork) {
+ logger.info('repo.labs.intellij.net is not reachable')
+ }
+}
+catch (UnknownHostException e) {
+ logger.info('repo.labs.intellij.net is not reachable', e)
+ project.ext.inJetBrainsNetwork = false
+}
+
apply from: 'setupJdk.gradle'
apply from: 'setupJbre.gradle'
apply from: 'setupKotlin.gradle'
diff --git a/build/dependencies/buildSrc/build.gradle b/build/dependencies/buildSrc/build.gradle
deleted file mode 100644
index b0946a5eeb84..000000000000
--- a/build/dependencies/buildSrc/build.gradle
+++ /dev/null
@@ -1,6 +0,0 @@
-apply plugin: 'idea'
-idea {
- module {
- inheritOutputDirs true
- }
-}
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/buildSrc.iml b/build/dependencies/buildSrc/buildSrc.iml
deleted file mode 100644
index f194e8000d0f..000000000000
--- a/build/dependencies/buildSrc/buildSrc.iml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/src/main/groovy/org/jetbrains/intellij/build/DependenciesBuildUtils.groovy b/build/dependencies/buildSrc/src/main/groovy/org/jetbrains/intellij/build/DependenciesBuildUtils.groovy
deleted file mode 100644
index bbb698a0d6fc..000000000000
--- a/build/dependencies/buildSrc/src/main/groovy/org/jetbrains/intellij/build/DependenciesBuildUtils.groovy
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.jetbrains.intellij.build
-
-import groovy.transform.CompileStatic
-import org.gradle.api.logging.Logger
-import org.gradle.api.logging.Logging
-import org.gradle.internal.os.OperatingSystem
-
-@CompileStatic
-class DependenciesBuildUtils {
- private static final Logger LOG = Logging.getLogger('DependenciesBuild')
- private static Boolean isInJetBrainsNetwork = null
-
- static def getInJetBrainsNetwork() {
- if (isInJetBrainsNetwork == null) {
- try {
- isInJetBrainsNetwork = InetAddress.getByName("repo.labs.intellij.net").isReachable(1000)
- if (!isInJetBrainsNetwork && OperatingSystem.current().isWindows()) {
- isInJetBrainsNetwork = Runtime.runtime.exec("ping -n 1 repo.labs.intellij.net").waitFor() == 0
- }
- if (!isInJetBrainsNetwork) {
- LOG.info('repo.labs.intellij.net is not reachable')
- }
- }
- catch (UnknownHostException e) {
- LOG.info('repo.labs.intellij.net is not reachable', e)
- isInJetBrainsNetwork = false
- }
- }
- return isInJetBrainsNetwork
- }
-
- static def getJdkRepo() {
- return inJetBrainsNetwork ? 'http://repo.labs.intellij.net/intellij-jdk' : 'https://dl.bintray.com/jetbrains/intellij-jdk'
- }
-
- static def intellijProjectDir(File gradleProjectDir) {
- def communityDir = new File(gradleProjectDir, "../..").canonicalFile
- return communityDir.name == 'community' ? communityDir.parent : communityDir
- }
-
- static def isInUltimateContext(File gradleProjectDir) {
- return new File(gradleProjectDir, "../..").canonicalFile.name == 'community'
- }
-}
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/src/main/java/doNotDelete.txt b/build/dependencies/buildSrc/src/main/java/doNotDelete.txt
deleted file mode 100644
index 149d0f8efa1a..000000000000
--- a/build/dependencies/buildSrc/src/main/java/doNotDelete.txt
+++ /dev/null
@@ -1 +0,0 @@
-The java dir is needed for IdeaUltimateProjectStructureTest
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/src/main/resources/doNotDelete.txt b/build/dependencies/buildSrc/src/main/resources/doNotDelete.txt
deleted file mode 100644
index 149d0f8efa1a..000000000000
--- a/build/dependencies/buildSrc/src/main/resources/doNotDelete.txt
+++ /dev/null
@@ -1 +0,0 @@
-The java dir is needed for IdeaUltimateProjectStructureTest
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/src/test/groovy/doNotDelete.txt b/build/dependencies/buildSrc/src/test/groovy/doNotDelete.txt
deleted file mode 100644
index 149d0f8efa1a..000000000000
--- a/build/dependencies/buildSrc/src/test/groovy/doNotDelete.txt
+++ /dev/null
@@ -1 +0,0 @@
-The java dir is needed for IdeaUltimateProjectStructureTest
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/src/test/java/doNotDelete.txt b/build/dependencies/buildSrc/src/test/java/doNotDelete.txt
deleted file mode 100644
index 149d0f8efa1a..000000000000
--- a/build/dependencies/buildSrc/src/test/java/doNotDelete.txt
+++ /dev/null
@@ -1 +0,0 @@
-The java dir is needed for IdeaUltimateProjectStructureTest
\ No newline at end of file
diff --git a/build/dependencies/buildSrc/src/test/resources/doNotDelete.txt b/build/dependencies/buildSrc/src/test/resources/doNotDelete.txt
deleted file mode 100644
index 149d0f8efa1a..000000000000
--- a/build/dependencies/buildSrc/src/test/resources/doNotDelete.txt
+++ /dev/null
@@ -1 +0,0 @@
-The java dir is needed for IdeaUltimateProjectStructureTest
\ No newline at end of file
diff --git a/build/dependencies/setupAndroidSdk.gradle b/build/dependencies/setupAndroidSdk.gradle
index 6e01518185a9..07ff33a849f7 100644
--- a/build/dependencies/setupAndroidSdk.gradle
+++ b/build/dependencies/setupAndroidSdk.gradle
@@ -13,49 +13,46 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-buildscript {
- repositories {
- maven { url "http://repo.labs.intellij.net/plugins-gradle-org/" }
- maven { url "https://plugins.gradle.org/m2/" }
+task setupAndroidSdk {
+ if (!inJetBrainsNetwork) {
+ return
}
- dependencies {
- classpath "de.undercouch:gradle-download-task:3.2.0"
+
+ def zipFile = org.gradle.internal.os.OperatingSystem.current().familyName + ".zip"
+ def gradleFile = "gradle-3.3-bin.zip"
+ def archivePath = "$project.buildDir/android-sdk/" + zipFile
+ def gradlePath = "$project.buildDir/android-sdk/" + gradleFile
+ def outputDir ="$project.buildDir/android-sdk/prebuilts/studio/sdk"
+ def outputGradle ="$project.buildDir/android-sdk/tools/external/gradle"
+ outputs.dir(outputDir)
+ outputs.dir(outputGradle)
+ outputs.dir("$project.buildDir/android-sdk/prebuilts/tools/common");
+ outputs.file(archivePath)
+ outputs.file(gradlePath)
+
+ doFirst {
+ download {
+ src "http://repo.labs.intellij.net/thirdparty/android-sdk/" + zipFile
+ dest archivePath
+ onlyIfNewer true
+ }
+ download {
+ src "http://repo.labs.intellij.net/thirdparty/gradle/" + gradleFile
+ dest gradlePath
+ onlyIfNewer true
+ }
}
-}
-apply plugin: "de.undercouch.download"
-
-import de.undercouch.gradle.tasks.download.Download
-import org.jetbrains.intellij.build.DependenciesBuildUtils
-
-def currentOs = org.gradle.internal.os.OperatingSystem.current()
-
-task downloadGradleDistribution(type: Download) {
- src "http://repo.labs.intellij.net/thirdparty/gradle/gradle-3.3-bin.zip"
- dest "$buildDir/android-sdk/gradle-3.3-bin.zip"
- onlyIfNewer true
- onlyIf { DependenciesBuildUtils.inJetBrainsNetwork }
-}
-
-task setupGradleDistribution(dependsOn: downloadGradleDistribution, type: Copy) {
- from zipTree(downloadGradleDistribution.outputs.files.singleFile)
- into "$buildDir/android-sdk/tools/external/gradle"
-}
-
-task downloadAndroidSdk(type: Download) {
- def osFamily = currentOs.familyName
- src "http://repo.labs.intellij.net/thirdparty/android-sdk/${osFamily}.zip"
- dest "$buildDir/android-sdk/${osFamily}.zip"
- onlyIfNewer true
- onlyIf { !currentOs.isMacOsX() && DependenciesBuildUtils.inJetBrainsNetwork }
-}
-
-task setupAndroidSdk(dependsOn: [downloadAndroidSdk, setupGradleDistribution], type: Copy) {
- from zipTree(downloadAndroidSdk.outputs.files.singleFile)
- into "$buildDir/android-sdk/prebuilts/studio/sdk"
- onlyIf { !currentOs.isMacOsX() }
- outputs.dir("$buildDir/android-sdk/prebuilts/tools/common")
doLast {
- file("$buildDir/android-sdk/prebuilts/tools/common/m2/repository").mkdirs()
- file("$buildDir/android-sdk/prebuilts/tools/common/offline-m2").mkdirs()
+ logger.info("Unpacking android sdk into " + archivePath)
+ copy {
+ from zipTree(file(archivePath))
+ into outputDir
+ }
+ copy {
+ from file(gradlePath)
+ into outputGradle
+ }
+ file("$project.buildDir/android-sdk/prebuilts/tools/common/m2/repository").mkdirs()
+ file("$project.buildDir/android-sdk/prebuilts/tools/common/offline-m2").mkdirs()
}
-}
\ No newline at end of file
+}
diff --git a/build/dependencies/setupJbre.gradle b/build/dependencies/setupJbre.gradle
index 94b97e2168ea..e9501e9b04e5 100644
--- a/build/dependencies/setupJbre.gradle
+++ b/build/dependencies/setupJbre.gradle
@@ -1,34 +1,31 @@
-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"
-
-import de.undercouch.gradle.tasks.download.Download
-import org.jetbrains.intellij.build.DependenciesBuildUtils
-
task setupJbre {}
+def jdkRepo = inJetBrainsNetwork ? 'http://repo.labs.intellij.net/intellij-jdk' : 'https://dl.bintray.com/jetbrains/intellij-jdk'
+
jrePlatformsToDownload(targetOs).each { platform ->
archToDownload(platform).each { arch ->
def jbrexArtifactName = "jbrex8${jdkBuild}_${platform}_$arch"
def jbreArtifactName = "jbre8${jdkBuild}_${platform}_$arch"
- task("downloadJbrex_${platform}_$arch", type: Download, group: 'jbre') {
+ task("downloadJbrex_${platform}_$arch") {
+ def outputDir = "$project.buildDir/jbre"
+ def outputFile = "$outputDir/${jbrexArtifactName}_origin.tar.gz"
+
inputs.property('build', jdkBuild)
- src "$DependenciesBuildUtils.jdkRepo/${jbrexArtifactName}.tar.gz"
- dest "$buildDir/jbre/${jbrexArtifactName}_origin.tar.gz"
- onlyIfNewer true
+ outputs.file(outputFile)
+ doLast {
+ logger.info("Downloading $jbrexArtifactName to $outputFile")
+ download {
+ src "$jdkRepo/${jbrexArtifactName}.tar.gz"
+ dest outputFile
+ 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", group: 'jbre') {
+ task("untarJbrex_${platform}_$arch", type: Copy, dependsOn: "downloadJbrex_${platform}_$arch") {
def downloadOutputs = tasks["downloadJbrex_${platform}_$arch"].outputs.files
from tarTree(downloadOutputs.singleFile), {
exclude 'lib/tools.jar'
@@ -42,7 +39,7 @@ jrePlatformsToDownload(targetOs).each { platform ->
}
}
else {
- task("untarJbrex_${platform}_$arch", type: Exec, dependsOn: "downloadJbrex_${platform}_$arch", group: 'jbre') {
+ task("untarJbrex_${platform}_$arch", type: Exec, dependsOn: "downloadJbrex_${platform}_$arch") {
def downloadOutputs = tasks["downloadJbrex_${platform}_$arch"].outputs.files
def outputDir = "${downloadOutputs.singleFile.absolutePath - '.tar.gz'}"
inputs.file(downloadOutputs.singleFile)
@@ -50,11 +47,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
- }
+ }
}
}
}
@@ -73,7 +70,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, group: 'jbre') {
+ task(taskName, type: Tar) {
def untarOutputs = tasks[untarTaskName].outputs.files
inputs.file(untarOutputs)
from "$untarOutputs.singleFile/$dirToTar"
@@ -87,7 +84,7 @@ def createTarJbreTask(String taskName, String untarTaskName, String platform, St
}
}
else {
- task(taskName, type: Exec, group: 'jbre') {
+ task(taskName, type: Exec) {
def untarOutputs = tasks[untarTaskName].outputs.files
def outputFile = "${untarOutputs.singleFile.parentFile}/${archiveName}.tar.gz"
inputs.files(untarOutputs)
diff --git a/build/dependencies/setupJdk.gradle b/build/dependencies/setupJdk.gradle
index c26778801066..dd9ae49fe6c9 100644
--- a/build/dependencies/setupJdk.gradle
+++ b/build/dependencies/setupJdk.gradle
@@ -1,5 +1,3 @@
-import org.jetbrains.intellij.build.DependenciesBuildUtils
-
/*
* Copyright 2000-2016 JetBrains s.r.o.
*
@@ -18,7 +16,9 @@ import org.jetbrains.intellij.build.DependenciesBuildUtils
task setupJdks(dependsOn: ['setupJdk18', 'setupJdk16'])
cleanSetupJdks.dependsOn('cleanSetupJdk18', 'cleanSetupJdk16', 'cleanDownloadJdk18')
-def checkoutDir = DependenciesBuildUtils.intellijProjectDir(file('.'))
+def jdkRepo = inJetBrainsNetwork ? 'http://repo.labs.intellij.net' : 'https://dl.bintray.com/jetbrains/'
+
+def checkoutDir = intellijProjectDir()
def jdkDir = "$checkoutDir/build/jdk"
project.ext.jdk18OutputDir = "${System.getProperty("intellij.jdk18.output.dir", "$jdkDir/1.8")}"
@@ -35,9 +35,9 @@ task downloadJdk18 {
inputs.property('build', jdkBuild)
outputs.file(outputFile)
doLast {
- logger.info("Downloading up JDK 1.8 to compile (using $DependenciesBuildUtils.jdkRepo repo)")
+ logger.info("Downloading up JDK 1.8 to compile (using $jdkRepo repo)")
download {
- src "$DependenciesBuildUtils.jdkRepo/${artifactName}"
+ src "$jdkRepo/intellij-jdk/${artifactName}"
dest outputFile
onlyIfNewer true
}
@@ -108,7 +108,10 @@ dependencies {
}
task setupJdk16(dependsOn: configurations.jdk16) {
- onlyIf { DependenciesBuildUtils.inJetBrainsNetwork }
+ if (!inJetBrainsNetwork) {
+ return
+ }
+
def jdkArchive = { configurations.jdk16.singleFile }
def outputDir = "$jdkDir/1.6"
inputs.file(jdkArchive)
@@ -131,6 +134,13 @@ private void deleteBrokenSymlink(def outputDir) {
}
}
+setupJdk16.onlyIf { inJetBrainsNetwork }
+
+def intellijProjectDir() {
+ def communityDir = project.file("../..")
+ communityDir.name == 'community' ? communityDir.parent : communityDir
+}
+
static def jdk16Version() {
def os = org.gradle.internal.os.OperatingSystem.current()
if (os.isWindows()) {
diff --git a/build/dependencies/setupJetSign.gradle b/build/dependencies/setupJetSign.gradle
index c76864e003a8..ec641e90e71e 100644
--- a/build/dependencies/setupJetSign.gradle
+++ b/build/dependencies/setupJetSign.gradle
@@ -13,8 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import org.jetbrains.intellij.build.DependenciesBuildUtils
-
repositories {
maven {
url 'http://repo.labs.intellij.net/jet-sign'
@@ -30,18 +28,22 @@ dependencies {
}
task setupJetSign(dependsOn: configurations.jetSign) {
+ if (!inJetBrainsNetwork) {
+ return
+ }
def ultimateProjectDir = ultimateProjectDir()
- onlyIf { DependenciesBuildUtils.inJetBrainsNetwork && ultimateProjectDir }
+ if (!ultimateProjectDir) {
+ return
+ }
- if (!ultimateProjectDir) return
+ doFirst { logger.info("Setting up JetSign") }
def jetSignJar = { configurations.jetSign.singleFile }
- def outputDir = "$ultimateProjectDir/build/lib/"
-
+ def outputDir = file("$ultimateProjectDir/build/lib/")
inputs.file(jetSignJar)
outputs.file("$outputDir/jet-sign.jar")
doLast {
- logger.info("Setting up JetSign. Copying $jetSignJar to $outputDir")
+ logger.info("Copying $jetSignJar to $outputDir")
copy {
from file(jetSignJar)
into outputDir