diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index d916068688eb..a83f1982b3ed 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -46,15 +46,55 @@
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/libraries/HdrHistogram.xml b/.idea/libraries/HdrHistogram.xml
new file mode 100644
index 000000000000..32ed0f815da3
--- /dev/null
+++ b/.idea/libraries/HdrHistogram.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/aapt_proto.xml b/.idea/libraries/aapt_proto.xml
new file mode 100644
index 000000000000..413f0c2db0b0
--- /dev/null
+++ b/.idea/libraries/aapt_proto.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/aapt_proto_jarjar.xml b/.idea/libraries/aapt_proto_jarjar.xml
deleted file mode 100644
index 99e531966992..000000000000
--- a/.idea/libraries/aapt_proto_jarjar.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_analytics_library_crash.xml b/.idea/libraries/analytics_proto.xml
similarity index 57%
rename from .idea/libraries/com_android_tools_analytics_library_crash.xml
rename to .idea/libraries/analytics_proto.xml
index ad3016a9812e..a77506064adb 100644
--- a/.idea/libraries/com_android_tools_analytics_library_crash.xml
+++ b/.idea/libraries/analytics_proto.xml
@@ -1,12 +1,12 @@
-
-
+
+
-
+
-
+
\ No newline at end of file
diff --git a/.idea/libraries/baksmali.xml b/.idea/libraries/baksmali.xml
index 85627127198e..adae6d1501df 100644
--- a/.idea/libraries/baksmali.xml
+++ b/.idea/libraries/baksmali.xml
@@ -1,8 +1,8 @@
-
+
+
-
-
+
diff --git a/.idea/libraries/com_android_tools_analytics_library_protos.xml b/.idea/libraries/com_android_tools_analytics_library_protos.xml
deleted file mode 100644
index 8e93aae729a9..000000000000
--- a/.idea/libraries/com_android_tools_analytics_library_protos.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_analytics_library_shared.xml b/.idea/libraries/com_android_tools_analytics_library_shared.xml
deleted file mode 100644
index 8f12694731a2..000000000000
--- a/.idea/libraries/com_android_tools_analytics_library_shared.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_analytics_library_testing.xml b/.idea/libraries/com_android_tools_analytics_library_testing.xml
deleted file mode 100644
index 4958cff5b0d8..000000000000
--- a/.idea/libraries/com_android_tools_analytics_library_testing.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_analytics_library_tracker.xml b/.idea/libraries/com_android_tools_analytics_library_tracker.xml
deleted file mode 100644
index b88bcc672b7b..000000000000
--- a/.idea/libraries/com_android_tools_analytics_library_tracker.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_annotations.xml b/.idea/libraries/com_android_tools_annotations.xml
deleted file mode 100644
index f6e64e88b8c9..000000000000
--- a/.idea/libraries/com_android_tools_annotations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_apkparser_apkanalyzer.xml b/.idea/libraries/com_android_tools_apkparser_apkanalyzer.xml
deleted file mode 100644
index da04abcfc914..000000000000
--- a/.idea/libraries/com_android_tools_apkparser_apkanalyzer.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_apkparser_binary_resources.xml b/.idea/libraries/com_android_tools_apkparser_binary_resources.xml
deleted file mode 100644
index ad1c8b305b75..000000000000
--- a/.idea/libraries/com_android_tools_apkparser_binary_resources.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_build_builder_model.xml b/.idea/libraries/com_android_tools_build_builder_model.xml
deleted file mode 100644
index 0cfc1db7eabf..000000000000
--- a/.idea/libraries/com_android_tools_build_builder_model.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_build_builder_test_api.xml b/.idea/libraries/com_android_tools_build_builder_test_api.xml
deleted file mode 100644
index 0916a0f11894..000000000000
--- a/.idea/libraries/com_android_tools_build_builder_test_api.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_build_manifest_merger.xml b/.idea/libraries/com_android_tools_build_manifest_merger.xml
deleted file mode 100644
index 5f25cd4bddc9..000000000000
--- a/.idea/libraries/com_android_tools_build_manifest_merger.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_common.xml b/.idea/libraries/com_android_tools_common.xml
deleted file mode 100644
index 4b3c6251c739..000000000000
--- a/.idea/libraries/com_android_tools_common.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_ddms_ddmlib.xml b/.idea/libraries/com_android_tools_ddms_ddmlib.xml
deleted file mode 100644
index 2d73037771ce..000000000000
--- a/.idea/libraries/com_android_tools_ddms_ddmlib.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_dvlib.xml b/.idea/libraries/com_android_tools_dvlib.xml
deleted file mode 100644
index 40f2cd5a6b49..000000000000
--- a/.idea/libraries/com_android_tools_dvlib.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_layoutlib_layoutlib_api.xml b/.idea/libraries/com_android_tools_layoutlib_layoutlib_api.xml
deleted file mode 100644
index 58dc3de45271..000000000000
--- a/.idea/libraries/com_android_tools_layoutlib_layoutlib_api.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_lint_lint_api.xml b/.idea/libraries/com_android_tools_lint_lint_api.xml
deleted file mode 100644
index c78973698678..000000000000
--- a/.idea/libraries/com_android_tools_lint_lint_api.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_lint_lint_checks.xml b/.idea/libraries/com_android_tools_lint_lint_checks.xml
deleted file mode 100644
index e9fa8109b2fe..000000000000
--- a/.idea/libraries/com_android_tools_lint_lint_checks.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_ninepatch.xml b/.idea/libraries/com_android_tools_ninepatch.xml
deleted file mode 100644
index 236ede441f07..000000000000
--- a/.idea/libraries/com_android_tools_ninepatch.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_pixelprobe_pixelprobe.xml b/.idea/libraries/com_android_tools_pixelprobe_pixelprobe.xml
deleted file mode 100644
index 6c98b5855560..000000000000
--- a/.idea/libraries/com_android_tools_pixelprobe_pixelprobe.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_repository.xml b/.idea/libraries/com_android_tools_repository.xml
deleted file mode 100644
index 76179da46349..000000000000
--- a/.idea/libraries/com_android_tools_repository.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_sdk_common.xml b/.idea/libraries/com_android_tools_sdk_common.xml
deleted file mode 100644
index ef0a6f80ddc9..000000000000
--- a/.idea/libraries/com_android_tools_sdk_common.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_sdklib.xml b/.idea/libraries/com_android_tools_sdklib.xml
deleted file mode 100644
index 697bcd5ed158..000000000000
--- a/.idea/libraries/com_android_tools_sdklib.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/com_android_tools_testutils.xml b/.idea/libraries/com_android_tools_testutils.xml
deleted file mode 100644
index 37e3a8237c2d..000000000000
--- a/.idea/libraries/com_android_tools_testutils.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/dexlib2.xml b/.idea/libraries/dexlib2.xml
index e8044243b570..d8320eb4e4d5 100644
--- a/.idea/libraries/dexlib2.xml
+++ b/.idea/libraries/dexlib2.xml
@@ -1,7 +1,15 @@
-
+
+
+
+
+
+
+
+
-
+
+
diff --git a/.idea/libraries/freemarker.xml b/.idea/libraries/freemarker.xml
index 4c9c3a8c89cd..ac31eb39f398 100644
--- a/.idea/libraries/freemarker.xml
+++ b/.idea/libraries/freemarker.xml
@@ -1,9 +1,12 @@
-
+
+
-
+
-
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/com_google_guava_guava_testlib.xml b/.idea/libraries/guava_testlib.xml
similarity index 61%
rename from .idea/libraries/com_google_guava_guava_testlib.xml
rename to .idea/libraries/guava_testlib.xml
index d1c1758e721c..fe21c8f2ba8f 100644
--- a/.idea/libraries/com_google_guava_guava_testlib.xml
+++ b/.idea/libraries/guava_testlib.xml
@@ -1,12 +1,12 @@
-
-
+
+
-
+
-
+
\ No newline at end of file
diff --git a/.idea/libraries/intellij_android_kotlin_idea.xml b/.idea/libraries/intellij_android_kotlin_idea.xml
new file mode 100644
index 000000000000..75aab23c8cc6
--- /dev/null
+++ b/.idea/libraries/intellij_android_kotlin_idea.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/jimfs.xml b/.idea/libraries/jimfs.xml
index 0ea20657fa9d..aed21902a59b 100644
--- a/.idea/libraries/jimfs.xml
+++ b/.idea/libraries/jimfs.xml
@@ -1,9 +1,12 @@
-
+
+
-
+
-
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/kotlin_gradle_plugin_model.xml b/.idea/libraries/kotlin_gradle_plugin_model.xml
new file mode 100644
index 000000000000..2c7e184a9264
--- /dev/null
+++ b/.idea/libraries/kotlin_gradle_plugin_model.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/kotlin_plugin.xml b/.idea/libraries/kotlin_plugin.xml
new file mode 100644
index 000000000000..69d90d13e76e
--- /dev/null
+++ b/.idea/libraries/kotlin_plugin.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/layoutlib.xml b/.idea/libraries/layoutlib.xml
deleted file mode 100644
index 76fd67ac89cd..000000000000
--- a/.idea/libraries/layoutlib.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_perflib.xml b/.idea/libraries/nosyncbuilder.xml
similarity index 54%
rename from .idea/libraries/org_jetbrains_intellij_deps_android_tools_perflib.xml
rename to .idea/libraries/nosyncbuilder.xml
index 820134bd07b7..33d227fad627 100644
--- a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_perflib.xml
+++ b/.idea/libraries/nosyncbuilder.xml
@@ -1,12 +1,12 @@
-
-
+
+
-
+
-
+
\ No newline at end of file
diff --git a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_layoutInspector.xml b/.idea/libraries/org_jetbrains_intellij_deps_android_tools_layoutInspector.xml
deleted file mode 100644
index 0e324c881fbc..000000000000
--- a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_layoutInspector.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_perf_logger_tests.xml b/.idea/libraries/org_jetbrains_intellij_deps_android_tools_perf_logger_tests.xml
deleted file mode 100644
index 6727d3314e70..000000000000
--- a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_perf_logger_tests.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/org_jetbrains_intellij_deps_android_tools_resources_aar.xml b/.idea/libraries/org_jetbrains_intellij_deps_android_tools_resources_aar.xml
new file mode 100644
index 000000000000..b2c18e66e1fb
--- /dev/null
+++ b/.idea/libraries/org_jetbrains_intellij_deps_android_tools_resources_aar.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/studio_profiler_grpc_1_0_jarjar.xml b/.idea/libraries/studio_profiler_grpc_1_0_jarjar.xml
index 16ebb4312e9c..ec46286ce22e 100644
--- a/.idea/libraries/studio_profiler_grpc_1_0_jarjar.xml
+++ b/.idea/libraries/studio_profiler_grpc_1_0_jarjar.xml
@@ -1,7 +1,8 @@
-
+
+
-
+
diff --git a/.idea/libraries/truth.xml b/.idea/libraries/truth.xml
index 5523920a87fb..96d7eb9c04e5 100644
--- a/.idea/libraries/truth.xml
+++ b/.idea/libraries/truth.xml
@@ -1,8 +1,18 @@
-
+
+
+
+
+
+
+
+
+
+
-
+
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index cc515b2a1a23..f03e53fd2959 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -345,38 +345,75 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
+
+
-
@@ -386,13 +423,16 @@
+
+
+
-
-
+
+
diff --git a/build/dependencies/setupAndroidSdk.gradle b/build/dependencies/setupAndroidSdk.gradle
index 67cf69d1fbe6..b8680f2384b9 100644
--- a/build/dependencies/setupAndroidSdk.gradle
+++ b/build/dependencies/setupAndroidSdk.gradle
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2016 JetBrains s.r.o.
+ * Copyright 2000-2019 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,122 +14,126 @@
* limitations under the License.
*/
-buildscript {
- repositories {
- maven { url "https://cache-redirector.jetbrains.com/plugins.gradle.org" }
- }
- dependencies {
- classpath "de.undercouch:gradle-download-task:3.4.2"
- }
-}
-apply plugin: "de.undercouch.download"
+import org.gradle.util.GFileUtils
-import de.undercouch.gradle.tasks.download.Download
-
-def currentOs = org.gradle.internal.os.OperatingSystem.current()
-
-task downloadGradleDistribution(type: Download) {
- src "https://cache-redirector.jetbrains.com/services.gradle.org/distributions/gradle-4.10.1-bin.zip"
- dest "$buildDir/android-sdk/tools/external/gradle/gradle-4.10.1-bin.zip"
- onlyIf { !dest.exists() }
-}
-
-ext.saveVersion = { Download task ->
- def filename = task.dest.name.substring(0, task.dest.name.lastIndexOf('.'))
- new File(task.dest.parentFile, filename).text = task.src.toString()
-}
-
-ext.cleanUp = { Copy task ->
- task.destinationDir.deleteDir()
-}
-
-ext.isStale = { Download task ->
- def filename = task.dest.name.substring(0, task.dest.name.lastIndexOf('.'))
- def file = new File(task.dest.parentFile, filename)
- return !file.exists() || file.text != task.src.toString()
-}
-
-task downloadGradleDistribution2(type: Download) {
- src "https://cache-redirector.jetbrains.com/services.gradle.org/distributions/gradle-2.4-bin.zip"
- dest "$buildDir/android-sdk/tools/external/gradle/gradle-2.4-bin.zip"
- onlyIf { !dest.exists() }
-}
-
-task downloadOfflineRepo(type: Download) {
- src "https://cache-redirector.jetbrains.com/intellij-third-party-dependencies/android-sdk-offline-repo/3.3.2/android-sdk-offline-repo.zip"
- dest "$buildDir/android-sdk/offline_repo_repo.zip"
- onlyIf {
- isStale(it) || !dest.exists() && isEmpty(setupOfflineRepo.destinationDir)
- }
- doLast {
- saveVersion(it)
- cleanUp(setupOfflineRepo)
- }
-}
-
-task downloadKotlinPlugin(type: Download) {
- src "https://cache-redirector.jetbrains.com/intellij-third-party-dependencies/android-sdk-kotlin-plugin/1.3.21-release-IJ2019.1/android-sdk-kotlin-plugin.zip"
- dest "$buildDir/android-sdk/kotlin-plugin.zip"
- onlyIf {
- isStale(it) || !dest.exists() && isEmpty(setupKotlinPluginForAndroid.destinationDir)
- }
- doLast {
- saveVersion(it)
- cleanUp(setupKotlinPluginForAndroid)
- }
-}
-
-task setupKotlinPluginForAndroid(dependsOn: downloadKotlinPlugin, type: Copy) {
- from zipTree(downloadKotlinPlugin.outputs.files.singleFile)
- into "$buildDir/android-sdk/prebuilts/tools/common/kotlin-plugin"
- onlyIf {
- isStale(downloadKotlinPlugin) || isEmpty(destinationDir)
- }
-}
-
-task setupOfflineRepo(dependsOn: downloadOfflineRepo, type: Copy) {
- from zipTree(downloadOfflineRepo.outputs.files.singleFile)
- into "$buildDir/android-sdk/prebuilts/tools/common/m2/repository"
- onlyIf {
- isStale(downloadOfflineRepo) || isEmpty(destinationDir)
- }
-}
-
-task downloadAndroidSdk(type: Download) {
- def osFamily = currentOs.familyName
- src "https://cache-redirector.jetbrains.com/intellij-third-party-dependencies/android-sdk/${osFamily}.3.3.3/android-sdk.tar.gz"
- dest "$buildDir/android-sdk/${osFamily}.tar.gz"
- onlyIf {
- isStale(it) || !dest.exists() && isEmpty(untarAndroidSdk.destinationDir) && !currentOs.isMacOsX()
- }
- doLast {
- saveVersion(it)
- cleanUp(untarAndroidSdk)
- }
-}
-
-task untarAndroidSdk(dependsOn: downloadAndroidSdk, type: Copy) {
- from tarTree(downloadAndroidSdk.outputs.files.singleFile)
- into "$buildDir/android-sdk/prebuilts/studio/sdk"
- onlyIf {
- isStale(downloadAndroidSdk) || !currentOs.isMacOsX() && isEmpty(destinationDir)
- }
- outputs.dir("$buildDir/android-sdk/prebuilts/tools/common")
- doLast {
- file("$buildDir/android-sdk/prebuilts/tools/common/offline-m2").mkdirs()
- }
-}
-
-task setupAndroidSdk(dependsOn: [untarAndroidSdk, downloadGradleDistribution,
- downloadGradleDistribution2, setupOfflineRepo,
- setupKotlinPluginForAndroid]) {
- doLast {
- [downloadAndroidSdk, downloadOfflineRepo, downloadKotlinPlugin].each {
- it.outputs.files.singleFile.delete()
+repositories {
+ maven { url 'https://cache-redirector.jetbrains.com/repo.maven.apache.org/maven2/' }
+ maven { url 'https://cache-redirector.jetbrains.com/jetbrains.bintray.com/intellij-third-party-dependencies/' }
+ ivy {
+ // TODO: re-publish android-sdk:android-sdk using maven layout and remove Ivy repository
+ url 'https://cache-redirector.jetbrains.com/jetbrains.bintray.com/intellij-third-party-dependencies/'
+ patternLayout {
+ artifact "[module]/[revision]/[artifact].[ext]"
}
}
}
-static def isEmpty(File dir) {
- dir.list() == null || dir.list().length == 0
-}
\ No newline at end of file
+configurations {
+ androidOfflineRepo
+ androidSdk
+ kotlinDeps
+}
+
+def currentOs = org.gradle.internal.os.OperatingSystem.current()
+def osFamily = currentOs.familyName
+
+ext.kotlin_version = "1.3.50"
+ext.android_m2_version = "26.5.0.1"
+
+dependencies {
+ androidOfflineRepo "org.jetbrains.intellij.deps.android.tools:android-sdk-offline-repo:${android_m2_version}@zip"
+ androidSdk "android-sdk:android-sdk:${osFamily}.3.3.3:@tar.gz"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-android-extensions:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-android-extensions-runtime:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-annotation-processing-gradle:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-build-common:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-compiler-runner:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-gradle-plugin-api:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-gradle-plugin-model:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-scripting-common:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-scripting-jvm:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-test:${kotlin_version}"
+ kotlinDeps "org.jetbrains.kotlin:kotlin-test-common:${kotlin_version}"
+}
+
+/* First we setup an offline-repo. This will remove all the alien files from .../android-sdk.
+ Later we will create an overlay with Android SDK and KotlinPlugin artifacts */
+task syncOfflineRepo(dependsOn: configurations.androidOfflineRepo, type: Copy) {
+ outputs.upToDateWhen { file("${project.buildDir}/android-sdk/${android_m2_version}.version").exists() }
+ doFirst { file("${project.buildDir}/android-sdk").deleteDir() }
+ from zipTree(configurations.androidOfflineRepo.singleFile)
+ into "${project.buildDir}/android-sdk"
+ doLast { file("${project.buildDir}/android-sdk/${android_m2_version}.version").write(android_m2_version) }
+}
+
+task syncKotlinPluginForAndroid(dependsOn: [setupKotlinPlugin, syncOfflineRepo], type: Sync) {
+ from "$buildDir/kotlin"
+ into "$buildDir/android-sdk/prebuilts/tools/common/kotlin-plugin"
+}
+
+task syncAndroidSdk(dependsOn: [configurations.androidSdk, syncOfflineRepo], type: Sync) {
+ from tarTree(resources.gzip(configurations.androidSdk.singleFile))
+ into "$buildDir/android-sdk/prebuilts/studio/sdk"
+}
+
+task updateKotlinLibs(dependsOn: [configurations.kotlinDeps, syncOfflineRepo], type: OfflineMavenRepository) {
+ outputs.upToDateWhen { false }
+ configurationName = "kotlinDeps"
+ repoDir = file("$buildDir/android-sdk/prebuilts/tools/common/m2/repository")
+}
+
+task setupAndroidSdk(dependsOn: [syncOfflineRepo, syncKotlinPluginForAndroid, syncAndroidSdk, updateKotlinLibs]) {
+ // This is entry point: invoke this task to setup android sdk and all the artifacts required to run android-plugin unit tests
+}
+
+class OfflineMavenRepository extends DefaultTask {
+ @Input
+ String configurationName = 'compile'
+
+ @OutputDirectory
+ File repoDir = new File(project.buildDir, 'offline-repo')
+
+ @TaskAction
+ void build() {
+ Configuration configuration = project.configurations.getByName(configurationName)
+ copyJars(configuration)
+ copyPoms(configuration)
+ }
+
+ private void copyJars(Configuration configuration) {
+ configuration.resolvedConfiguration.resolvedArtifacts.each { artifact ->
+ def moduleVersionId = artifact.moduleVersion.id
+ File moduleDir = new File(repoDir, "${moduleVersionId.group.replace('.','/')}/${moduleVersionId.name}/${moduleVersionId.version}")
+ GFileUtils.mkdirs(moduleDir)
+
+ File target = new File(moduleDir, artifact.file.name)
+ println "Copy: $artifact.file -> $target"
+ GFileUtils.copyFile(artifact.file, target)
+ }
+ }
+
+ private void copyPoms(Configuration configuration) {
+ def componentIds = configuration.incoming.resolutionResult.allDependencies.collect { it.selected.id }
+
+ def result = project.dependencies.createArtifactResolutionQuery()
+ .forComponents(componentIds)
+ .withArtifacts(MavenModule, MavenPomArtifact)
+ .execute()
+
+ for(component in result.resolvedComponents) {
+ def componentId = component.id
+
+ if(componentId instanceof ModuleComponentIdentifier) {
+ File moduleDir = new File(repoDir, "${componentId.group.replace('.','/')}/${componentId.module}/${componentId.version}")
+ GFileUtils.mkdirs(moduleDir)
+ File pomFile = component.getArtifacts(MavenPomArtifact)[0].file
+ GFileUtils.copyFile(pomFile, new File(moduleDir, pomFile.name))
+ }
+ }
+ }
+}
diff --git a/intellij.idea.community.main.iml b/intellij.idea.community.main.iml
index 24b46cb628a7..3468fc5a05cb 100644
--- a/intellij.idea.community.main.iml
+++ b/intellij.idea.community.main.iml
@@ -8,7 +8,6 @@
-
@@ -117,14 +116,12 @@
-
-
diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
index 5507477b230d..d2473573e4f4 100644
--- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
+++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityLibraryLicenses.groovy
@@ -14,7 +14,7 @@ import static org.jetbrains.intellij.build.LibraryLicense.jetbrainsLibrary
class CommunityLibraryLicenses {
@SuppressWarnings("SpellCheckingInspection")
public static final List LICENSES_LIST = [
- new LibraryLicense(name: "AAPT Protos", libraryName: "aapt-proto-jarjar", license: "Apache 2.0", url: "http://source.android.com/"),
+ new LibraryLicense(name: "AAPT Protos", libraryName: "aapt-proto", license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Aether", license: "Eclipse Public License 1.0", url: "http://www.eclipse.org/aether/",
libraryName: 'org.eclipse.aether:aether-api', licenseUrl: "http://www.eclipse.org/legal/epl-v10.html",
additionalLibraryNames: ['org.eclipse.aether:aether-impl', 'org.eclipse.aether:aether-connector-basic',
@@ -22,90 +22,94 @@ class CommunityLibraryLicenses {
new LibraryLicense(name: "Amazon Ion Java", libraryName: "ion", license: "Apache 2.0", url: "https://github.com/amzn/ion-java"),
- new LibraryLicense(name: "Android Aia Manifest Proto", libraryName: "aia-manifest-proto-1.0-jarjar.jar", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Aia Manifest Proto", libraryName: "aia-manifest-proto", license: "Apache 2.0",
url: "http://source.android.com/"),
new LibraryLicense(name: "Android Analytics", attachedTo: "intellij.android.core", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Analytics Crash", libraryName: "com.android.tools.analytics-library:crash",
+ new LibraryLicense(name: "Android Analytics Crash", libraryName: "precompiled-analytics-crash",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Analytics Protos", libraryName: "com.android.tools.analytics-library:protos",
+ new LibraryLicense(name: "Android Analytics Protos", libraryName: "analytics-proto",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Analytics Shared", libraryName: "com.android.tools.analytics-library:shared",
+ new LibraryLicense(name: "Android Analytics Shared", libraryName: "precompiled-analytics-shared",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Analytics Testing", libraryName: "com.android.tools.analytics-library:testing",
+ new LibraryLicense(name: "Android Analytics Tracker", libraryName: "precompiled-analytics-tracker",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Analytics Tracker", libraryName: "com.android.tools.analytics-library:tracker",
- license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Annotations", libraryName: "com.android.tools:annotations", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Annotations", libraryName: "precompiled-android-annotations", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Apk Analyzer", libraryName: "com.android.tools.apkparser:apkanalyzer", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Apk Analyzer", libraryName: "precompiled-analyzer", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Apk Binary Resources", libraryName: "com.android.tools.apkparser:binary-resources", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Apk Binary Resources", libraryName: "precompiled-binary-resources", license: "Apache 2.0",
url: "http://source.android.com/"),
new LibraryLicense(name: "Android Baksmali", libraryName: "baksmali", license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Android Builder", attachedTo: "intellij.android.core", license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Builder Model", libraryName: "com.android.tools.build:builder-model", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Builder Model", libraryName: "precompiled-builder-model", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Builder Test Api", libraryName: "com.android.tools.build:builder-test-api", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Builder Test Api", libraryName: "precompiled-builder-test-api", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Common Library", libraryName: "com.android.tools:common", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Common Library", libraryName: "precompiled-common", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Ddm Library", libraryName: "com.android.tools.ddms:ddmlib", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Data Binding Base Library", libraryName: "precompiled-db-baseLibrary", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Deployer Library", libraryName: "org.jetbrains.intellij.deps.android.tools:deployer",
+ new LibraryLicense(name: "Android Data Binding Base Library Support", libraryName: "precompiled-db-baseLibrarySupport",
+ license: "Apache 2.0", url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android Data Binding Compiler", libraryName: "precompiled-db-compiler", license: "Apache 2.0",
+ url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android Data Binding Compiler Common", libraryName: "precompiled-db-compilerCommon", license: "Apache 2.0",
+ url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android Ddm Library", libraryName: "precompiled-ddmlib", license: "Apache 2.0",
+ url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android Deployer Library", libraryName: "precompiled-deployer",
license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Android DEX library", libraryName: "dexlib2", license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android draw9patch library", libraryName: "com.android.tools:draw9patch", license: "Apache 2.0",
+ new LibraryLicense(name: "Android draw9patch library", libraryName: "precompiled-draw9patch", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android dvlib library", libraryName: "com.android.tools:dvlib", license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Flags", libraryName: "org.jetbrains.intellij.deps.android.tools:flags", license: "Apache 2.0",
+ new LibraryLicense(name: "Android dvlib library", libraryName: "precompiled-dvlib", license: "Apache 2.0", url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android Flags", libraryName: "precompiled-flags", license: "Apache 2.0",
url: "http://source.android.com/"),
new LibraryLicense(name: "Android Gradle model", attachedTo: "intellij.android.core", version: "0.4-SNAPSHOT", license: "Apache 2.0",
url: "https://android.googlesource.com/platform/tools/build/+/master/gradle-model/"),
- new LibraryLicense(name: "Android IDE Extensions", libraryName: "android-extensions-ide.jar", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Java Lib Model", libraryName: "precompiled-java-lib-model", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Instant Run Client", libraryName: "org.jetbrains.intellij.deps.android.tools:instant-run-client", license: "Apache 2.0",
- url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Instant Run Common", libraryName: "org.jetbrains.intellij.deps.android.tools:instant-run-common", license: "Apache 2.0",
- url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Java Lib Model", libraryName: "com.android.java.tools.build:java-lib-model", license: "Apache 2.0",
- url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Java Lib Model Builder", libraryName: "com.android.java.tools.build:java-lib-model-builder",
+ new LibraryLicense(name: "Android Java Lib Model Builder", libraryName: "precompiled-java-lib-model-builder",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Kotlin Integration", libraryName: "com.android.tools.layoutlib:layoutlib-api", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Kotlin Integration", libraryName: "intellij.android.kotlin.idea", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Layout Api Library", libraryName: "android-kotlin.jar", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Layout Api Library", libraryName: "precompiled-layoutlib-api", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Layout Inspector", libraryName: "org.jetbrains.intellij.deps.android.tools:layoutInspector",
+ new LibraryLicense(name: "Android Layout Inspector", libraryName: "precompiled-layoutinspector",
license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Android Layout Library", libraryName: "layoutlib", license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Android libwebp library", libraryName: "libwebp.jar", license: "Apache 2.0",
url: "https://github.com/webmproject/libwebp"),
- new LibraryLicense(name: "Android Lint Api", libraryName: "com.android.tools.lint:lint-api", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Lint Api", libraryName: "precompiled-lint-api", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Lint Checks", libraryName: "com.android.tools.lint:lint-checks", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Lint Checks", libraryName: "precompiled-lint-checks", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Manifest Merger", libraryName: "com.android.tools.build:manifest-merger",
+ new LibraryLicense(name: "Android Manifest Merger", libraryName: "precompiled-manifest-merger",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android ninepatch Library", libraryName: "com.android.tools:ninepatch",
+ new LibraryLicense(name: "Android ninepatch Library", libraryName: "precompiled-ninepatch",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Perflib Library", libraryName: "org.jetbrains.intellij.deps.android.tools:perflib",
+ new LibraryLicense(name: "Android Perflib Library", libraryName: "precompiled-perflib",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Pixelprobe Library", libraryName: "com.android.tools.pixelprobe:pixelprobe",
+ new LibraryLicense(name: "Android Pixelprobe Library", libraryName: "precompiled-pixelprobe",
license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Android Profiler", libraryName: "studio-profiler-grpc-1.0-jarjar", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Repository", libraryName: "com.android.tools:repository", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Repository", libraryName: "precompiled-repository", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Sdk Common", libraryName: "com.android.tools:sdk-common", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Resources Aar", libraryName: "org.jetbrains.intellij.deps.android.tools:resources-aar", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android Sdk Lib", libraryName: "com.android.tools:sdklib", license: "Apache 2.0",
+ new LibraryLicense(name: "Android Sdk Common", libraryName: "precompiled-sdk-common", license: "Apache 2.0",
+ url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android Sdk Lib", libraryName: "precompiled-sdklib", license: "Apache 2.0",
url: "http://source.android.com/"),
new LibraryLicense(name: "Android SDK Tools", attachedTo: "intellij.android.core", license: "Apache 2.0",
url: "http://source.android.com/"),
new LibraryLicense(name: "Android SDK Tools JPS", libraryName: "android-sdk-tools-jps", license: "Apache 2.0",
url: "http://source.android.com/"),
- new LibraryLicense(name: "Android USB Devices", libraryName: "org.jetbrains.intellij.deps.android.tools:usb-devices",
+ new LibraryLicense(name: "Android STracer", libraryName: "precompiled-tracer", license: "Apache 2.0",
+ url: "http://source.android.com/"),
+ new LibraryLicense(name: "Android USB Devices", libraryName: "precompiled-usb-devices",
license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "ANTLR 4 Runtime", libraryName: "antlr4-runtime-4.1.jar", license: "BSD",
url: "http://www.antlr.org", licenseUrl: "http://www.antlr.org/license.html"),
@@ -169,8 +173,6 @@ class CommunityLibraryLicenses {
new LibraryLicense(libraryName: "bouncy-castle-provider", license: "MIT License", url: "http://bouncycastle.org",
licenseUrl: "http://bouncycastle.org/licence.html"),
- new LibraryLicense(name: "Bouncy Castle", libraryName: "org.bouncycastle:bcpkix-jdk15on:1.56", license: "MIT License",
- url: "http://bouncycastle.org", licenseUrl: "http://bouncycastle.org/licence.html"),
new LibraryLicense(name: "CGLib", libraryName: "CGLIB", license: "Apache", url: "http://cglib.sourceforge.net/",
licenseUrl: "http://www.apache.org/foundation/licence-FAQ.html"),
new LibraryLicense(name: "classworlds", libraryName: "Maven", transitiveDependency: true, version: "1.1", license: "codehaus",
@@ -189,13 +191,11 @@ class CommunityLibraryLicenses {
url: "https://github.com/cucumber/cucumber-jvm/", licenseUrl: "http://www.opensource.org/licenses/mit-license.html"),
new LibraryLicense(name: "Cucumber-Java", libraryName: "cucumber-java", license: "MIT License",
url: "https://github.com/cucumber/cucumber-jvm/", licenseUrl: "http://www.opensource.org/licenses/mit-license.html"),
- new LibraryLicense(name: "D8", libraryName: "d8-master.jar", license: "BSD"),
new LibraryLicense(name: "Dart Analysis Server", attachedTo: "intellij.dart", license: "Eclipse Public License v1.0",
licenseUrl: "http://www.eclipse.org/legal/epl-v10.html", url: "https://github.com/dart-lang/eclipse3"),
new LibraryLicense(name: "Dart VM Service drivers", attachedTo: "intellij.dart", license: "BSD",
licenseUrl: "https://github.com/dart-lang/vm_service_drivers/blob/master/LICENSE",
url: "https://github.com/dart-lang/vm_service_drivers"),
- new LibraryLicense(name: "data-binding", libraryName: "data-binding.jar", license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "dbus-java", libraryName: "dbus-java", license: "LGPL", url: "https://mvnrepository.com/artifact/com.github.hypfvieh/dbus-java"),
new LibraryLicense(name: "debugger-memory-agent", libraryName: "debugger-memory-agent", license: "Apache 2.0",
url: "https://github.com/JetBrains/debugger-memory-agent",
@@ -225,7 +225,7 @@ class CommunityLibraryLicenses {
url: "https://github.com/tonsky/FiraCode/blob/master/LICENSE"),
new LibraryLicense(name: "FreeMarker", attachedTo: "intellij.java.coverage", version: "2.3.15", license: "BSD",
url: "http://freemarker.sourceforge.net/"),
- new LibraryLicense(name: "FreeMarker", libraryName: "freemarker", version: "2.3.20", license: "BSD",
+ new LibraryLicense(name: "FreeMarker", libraryName: "freemarker", license: "BSD",
url: "http://freemarker.sourceforge.net/"),
new LibraryLicense(name: "Gant", libraryName: "gant-groovy", license: "Apache 2.0",
@@ -255,6 +255,8 @@ class CommunityLibraryLicenses {
licenseUrl: "http://ant.apache.org/license.html"),
new LibraryLicense(name: "Hamcrest", libraryName: "hamcrest", license: "BSD", url: "http://hamcrest.org/",
licenseUrl: "http://opensource.org/licenses/BSD-3-Clause"),
+ new LibraryLicense(name: "HDR Histogram", libraryName: "HdrHistogram", license: "CC0 1.0 Universal",
+ licenseUrl: "https://creativecommons.org/publicdomain/zero/1.0/"),
new LibraryLicense(name: "hppc", libraryName: "com.carrotsearch:hppc:0.7.2",
license: "Apache 2.0", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0.txt"),
@@ -274,9 +276,9 @@ class CommunityLibraryLicenses {
url: "https://github.com/JetBrains/intellij-deps-ini4j"),
new LibraryLicense(name: "Instant App Api", libraryName: "instantapps-api-1.5",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Instant run protos", libraryName: "libdeploy_java_proto.jar",
+ new LibraryLicense(name: "Instant run protos", libraryName: "deploy-java-proto",
license: "Apache 2.0", url: "http://source.android.com/"),
- new LibraryLicense(name: "Instant run version", libraryName: "libjava_version.jar",
+ new LibraryLicense(name: "Instant run version", libraryName: "deploy-java-version",
license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "ISO RELAX", libraryName: "isorelax", license: "MIT License",
url: "http://sourceforge.net/projects/iso-relax/",
@@ -385,6 +387,7 @@ class CommunityLibraryLicenses {
new LibraryLicense(name: "JUnit", libraryName: "JUnit4", license: "CPL 1.0", url: "http://junit.org/"),
new LibraryLicense(name: "jzlib", libraryName: "jzlib", license: "BSD", url: "http://www.jcraft.com/jzlib/",
licenseUrl: "http://www.jcraft.com/jzlib/LICENSE.txt"),
+ new LibraryLicense(name: "Kotlin Gradle Plugin Model", libraryName: "kotlin-gradle-plugin-model", license: "Apache 2.0"),
new LibraryLicense(name: "kotlinx.html", libraryName: "org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.11",
license: "Apache 2.0",
licenseUrl: "https://github.com/Kotlin/kotlinx.html/blob/master/LICENSE",
@@ -459,7 +462,7 @@ class CommunityLibraryLicenses {
new LibraryLicense(name: "netty-handler-proxy", libraryName: "netty-handler-proxy", license: "Apache 2.0",
url: "http://netty.io", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0"),
- new LibraryLicense(libraryName: "nosyncbuilder-jarjar", license: "Apache 2.0", url: "http://source.android.com/"),
+ new LibraryLicense(libraryName: "nosyncbuilder", license: "Apache 2.0", url: "http://source.android.com/"),
new LibraryLicense(name: "Objenesis", libraryName: "Objenesis", license: "Apache 2.0", url: "http://objenesis.org/",
licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0.txt"),
new LibraryLicense(name: "Okio", libraryName: "okio", license: "Apache 2.0",
@@ -493,6 +496,7 @@ class CommunityLibraryLicenses {
url: "http://pycodestyle.readthedocs.io/"),
new LibraryLicense(name: "qdox-java-parser", libraryName: "qdox-java-parser", license: "Apache 2.0",
url: "https://github.com/paul-hammant/qdox", licenseUrl: "http://www.apache.org/licenses/LICENSE-2.0"),
+ new LibraryLicense(name: "R8 DEX shrinker", libraryName: "r8-master", license: "BSD"),
new LibraryLicense(name: "Relax NG Object Model", libraryName: "rngom-20051226-patched.jar", license: "MIT",
url: "https://github.com/kohsuke/rngom", licenseUrl: "http://www.opensource.org/licenses/mit-license.php"),
new LibraryLicense(name: "Rhino JavaScript Engine", libraryName: "rhino", license: "MPL 1.1",
diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy
index 67205e054bf4..44f87d9813d7 100644
--- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy
+++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/CommunityRepositoryModules.groovy
@@ -1,9 +1,11 @@
// Copyright 2000-2019 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.
package org.jetbrains.intellij.build
+import com.google.common.io.Files
import groovy.transform.CompileStatic
import org.jetbrains.intellij.build.impl.PluginLayout
import org.jetbrains.intellij.build.python.PythonCommunityPluginModules
+import org.jetbrains.jps.model.library.JpsOrderRootType
import static org.jetbrains.intellij.build.impl.PluginLayout.plugin
@@ -255,19 +257,26 @@ class CommunityRepositoryModules {
withModule("intellij.android.core", "android.jar", null)
withModule("intellij.android.adb", "android.jar")
+ withModule("intellij.android.databinding", "android.jar")
withModule("intellij.android.debuggers", "android.jar")
withModule("intellij.android.lang", "android.jar")
withModule("intellij.android.plugin", "android.jar")
withModule("intellij.android.artwork")
withModule("intellij.android.observable", "android.jar")
withModule("intellij.android.observable.ui", "android.jar")
+ withModuleLibrary("precompiled-flags", "android.sdktools.flags", "")
+ withModule("intellij.android.propertyEditor", "android.jar")
+ withModule("intellij.android.layoutInspector", "android.jar")
+ withModule("intellij.android.transport", "android.jar")
withModule("intellij.android.designer", "android.jar")
+ withModule("intellij.android.naveditor", "android.jar")
withModule("intellij.android.sdkUpdates", "android.jar")
withModule("intellij.android.wizard", "android.jar")
withModule("intellij.android.wizard.model", "android.jar")
withModule("intellij.android.profilersAndroid", "android.jar")
withModule("intellij.android.deploy", "android.jar")
- withModule("intellij.android.perfdHost", "android-profilers.jar")
+ // TODO-ank: intellij.android.kotlin.* are currently pre-built libraries (should be project modules)
+ withModule("intellij.android.transportDatabase", "android-profilers.jar")
withModule("intellij.android.profilers", "android-profilers.jar")
withModule("intellij.android.profilers.ui", "android-profilers.jar")
withModule("intellij.android.profilers.atrace", "android-profilers.jar")
@@ -275,64 +284,98 @@ class CommunityRepositoryModules {
withModule("intellij.android.apkanalyzer", "android.jar")
withModule("intellij.android.projectSystem", "android.jar")
withModule("intellij.android.projectSystem.gradle", "android.jar")
- withModule("intellij.android.layoutInspector", "android.jar")
+ withModule("intellij.android.resourcesAar", "android.jar")
+ withModule("intellij.android.androidLayoutInspector", "android.jar")
+ /* do not put into IJ android plugin: assistant, connection-assistant, whats-new-assistant */
withModule("intellij.android.adt.ui", "adt-ui.jar")
withModule("intellij.android.adt.ui.model", "adt-ui.jar")
- withModule("intellij.android.layoutlib", "layoutlib-loader.jar")
+ withModuleLibrary("precompiled-repository", "android.sdktools.repository", "")
+
+ withModuleLibrary("precompiled-db-baseLibrary", "android.sdktools.db-baseLibrary", "")
+ withModuleLibrary("precompiled-db-baseLibrarySupport", "android.sdktools.db-baseLibrarySupport", "")
+ withModuleLibrary("precompiled-db-compilerCommon", "android.sdktools.db-compilerCommon", "")
+ withModuleLibrary("precompiled-db-compiler", "android.sdktools.db-compiler", "")
+
+ withModuleLibrary("precompiled-sdklib", "android.sdktools.sdklib", "")
+ withModuleLibrary("precompiled-sdk-common", "android.sdktools.sdk-common", "")
+ withModuleLibrary("precompiled-layoutlib-api", "android.sdktools.layoutlib-api", "")
+ withModule("intellij.android.layoutlibLoader", "layoutlib-loader.jar")
+ withModuleLibrary("layoutlib", "intellij.android.layoutlib", "")
+ withModuleLibrary("precompiled-manifest-merger", "android.sdktools.manifest-merger", "")
+ withModuleLibrary("precompiled-pixelprobe", "android.sdktools.pixelprobe", "")
+ withModuleLibrary("precompiled-binary-resources", "android.sdktools.binary-resources", "")
+ withModuleLibrary("precompiled-analyzer", "android.sdktools.analyzer", "")
+ withModuleLibrary("precompiled-ddmlib", "android.sdktools.ddmlib", "")
+ withModuleLibrary("precompiled-dvlib", "android.sdktools.dvlib", "")
+ withModuleLibrary("precompiled-deployer", "android.sdktools.deployer", "")
+ withModuleLibrary("deploy-java-proto", "android.sdktools.deployer", "")
+ withModuleLibrary("deploy-java-version", "android.sdktools.deployer", "")
+ withModuleLibrary("r8-master", "android.sdktools.deployer", "")
+ withModuleLibrary("precompiled-tracer", "android.sdktools.tracer", "")
+ withModuleLibrary("precompiled-draw9patch", "android.sdktools.draw9patch", "")
+ withModuleLibrary("precompiled-lint-api", "android.sdktools.lint-api", "")
+ withModuleLibrary("precompiled-lint-checks", "android.sdktools.lint-checks", "")
+ withModuleLibrary("precompiled-ninepatch", "android.sdktools.ninepatch", "")
+ withModuleLibrary("precompiled-perflib", "android.sdktools.perflib", "")
+ withModuleLibrary("precompiled-builder-model", "android.sdktools.builder-model", "")
+ withModuleLibrary("precompiled-builder-test-api", "android.sdktools.builder-test-api", "")
+ withModuleLibrary("precompiled-android-annotations", "android.sdktools.android-annotations", "")
+ withModuleLibrary("precompiled-layoutinspector", "android.sdktools.layoutinspector", "")
+ withModuleLibrary("precompiled-java-lib-model", "android.sdktools.java-lib-model", "")
+ withModuleLibrary("precompiled-java-lib-model-builder", "android.sdktools.java-lib-model-builder", "")
+ withModuleLibrary("precompiled-usb-devices", "android.sdktools.usb-devices", "")
withModule("intellij.android.jps", "jps/android-jps-plugin.jar", null)
withProjectLibrary("freemarker") //todo[nik] move to module libraries
withProjectLibrary("kxml2") //todo[nik] move to module libraries
- withResourceFromModule("intellij.android.core","lib/asm-5.0.3.jar", "lib")
- withResourceFromModule("intellij.android.core","lib/asm-analysis-5.0.3.jar", "lib")
- withResourceFromModule("intellij.android.core","lib/asm-tree-5.0.3.jar", "lib")
- withResourceFromModule("intellij.android.core","lib/commons-compress-1.8.1.jar", "lib")
- withResourceFromModule("intellij.android.core","lib/javawriter-2.2.1.jar", "lib")
- withResourceFromModule("intellij.android.core","lib/android-extensions-ide.jar", "lib")
- withResourceFromModule("intellij.android.core","lib/android-kotlin.jar", "lib")
+ withResourceFromModule("intellij.android.core", "lib/asm-5.0.3.jar", "lib")
+ withResourceFromModule("intellij.android.core", "lib/asm-analysis-5.0.3.jar", "lib")
+ withResourceFromModule("intellij.android.core", "lib/asm-tree-5.0.3.jar", "lib")
+ withResourceFromModule("intellij.android.core", "lib/commons-compress-1.8.1.jar", "lib")
+ withResourceFromModule("intellij.android.core", "lib/javawriter-2.2.1.jar", "lib")
+ withProjectLibrary("intellij.android.kotlin.idea", "")
- withResourceFromModule("intellij.android.core","lib/androidWidgets", "lib/androidWidgets")
- withResourceFromModule("intellij.android.artwork","resources/device-art-resources", "lib/device-art-resources")
- withResourceFromModule("intellij.android.core","lib/sampleData", "lib/sampleData")
+ withResourceFromModule("intellij.android.core", "lib/androidWidgets", "lib/androidWidgets")
+ withResourceFromModule("intellij.android.artwork", "resources/device-art-resources", "lib/device-art-resources")
+ withResourceFromModule("intellij.android.core", "lib/sampleData", "lib/sampleData")
withResourceFromModule("intellij.android.adt.ui", "lib/libwebp/linux", "lib/libwebp/linux")
withResourceFromModule("intellij.android.adt.ui", "lib/libwebp/mac", "lib/libwebp/mac")
withResourceFromModule("intellij.android.adt.ui", "lib/libwebp/win", "lib/libwebp/win")
withResourceArchive("../android/annotations", "lib/androidAnnotations.jar")
// here go some differences from original Android Studio layout
- withProjectLibrary("layoutlib", "jdk8")
- withResource("../android/lib/jdk11/layoutlib.jar", "lib/jdk11")
+ withResource("../tools-base/layoutlib","lib/layoutlib") // todo replace this with runtime downloading
+ withResource("../tools-base/templates", "lib/templates")
- withResourceFromModule("android.sdktools.layoutlib-resources", ".", "lib/layoutlib") // todo replace this with runtime downloading
- withResourceFromModule("android.sdktools.sdklib", "../templates", "lib/templates")
withProjectLibrary("studio-profiler-grpc-1.0-jarjar")
- withProjectLibrary("com.android.tools.analytics-library:crash")
- withProjectLibrary("com.android.tools.analytics-library:protos")
- withProjectLibrary("com.android.tools.analytics-library:shared")
- withProjectLibrary("com.android.tools.analytics-library:tracker")
- withProjectLibrary("com.android.tools:annotations")
- withProjectLibrary("com.android.tools.apkparser:apkanalyzer")
- withProjectLibrary("com.android.tools.apkparser:binary-resources")
- withProjectLibrary("com.android.tools.layoutlib:layoutlib-api")
- withProjectLibrary("com.android.tools.lint:lint-api")
- withProjectLibrary("com.android.tools.lint:lint-checks")
- withProjectLibrary("com.android.tools:sdk-common")
- withProjectLibrary("com.android.tools:dvlib")
- withProjectLibrary("com.android.tools:sdklib")
- withProjectLibrary("com.android.tools:common")
- withProjectLibrary("com.android.tools:repository")
- withProjectLibrary("com.android.tools:ninepatch")
- withProjectLibrary("com.android.tools.ddms:ddmlib")
- withProjectLibrary("com.android.tools.build:manifest-merger")
- withProjectLibrary("com.android.tools.build:builder-model")
- withProjectLibrary("com.android.tools.build:builder-test-api")
- withProjectLibrary("com.android.tools.pixelprobe:pixelprobe")
+ // Profiler downloader will download all the other profiler libraries: profilers-transform.jar, perfa_okhttp.dex, perfa, perfd, simpleperf
+ // Profiler downloader will also download instant run installers: /resources/installer
+ // Profiler downloader will also download instant run transport: /resources/transport
- withProjectLibrary("org.jetbrains.intellij.deps.android.tools:perflib")
- withProjectLibrary("org.jetbrains.intellij.deps.android.tools:layoutInspector")
+ withModuleLibrary("precompiled-common", "android.sdktools.common", "")
+ withModuleLibrary("precompiled-analytics-crash", "android.sdktools.analytics-crash", "")
+ withModuleLibrary("precompiled-analytics-shared", "android.sdktools.analytics-shared", "")
+ withModuleLibrary("precompiled-analytics-tracker", "android.sdktools.analytics-tracker", "")
+ withGeneratedResources(new ResourcesGenerator() {
+ @Override
+ // Sole purpose of this method is to rename resources-aar-.jar into framework_res.jar and put it into lib/layoutlib/data
+ File generateResources(BuildContext context) {
+ def frameworkResJar = new File("$context.paths.temp/andorid-plugin/resources-aar/framework_res.jar")
+ List files= context.project.libraryCollection
+ .findLibrary("org.jetbrains.intellij.deps.android.tools:resources-aar")
+ .getFiles(JpsOrderRootType.COMPILED)
+ assert files.size() == 1: "Exactly one file (resources-aar-.jar) is expected"
+ assert files[0].name.endsWith(".jar") : "JAR file is expected, but ${files[0]} was found"
+
+ Files.createParentDirs(frameworkResJar)
+ Files.copy(files[0], frameworkResJar)
+ return frameworkResJar
+ }
+ }, "lib/layoutlib/data")
+ // FIXME-ank: add "analytics-publisher"?
additionalModulesToJars.entrySet().each {
withModule(it.key, it.value)
diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java
index 551bf8db5da6..63b4b21f0005 100644
--- a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java
+++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java
@@ -1163,13 +1163,13 @@ public class PluginManagerCore {
boolean parallel = SystemProperties.getBooleanProperty("parallel.pluginDescriptors.loading", true);
try (LoadDescriptorsContext context = new LoadDescriptorsContext(parallel)) {
+ loadDescriptorsFromClassPath(urlsFromClassPath, result, context, platformPluginURL);
loadDescriptorsFromDir(new File(PathManager.getPluginsPath()), result, false, context);
if (!isUnitTestMode) {
loadDescriptorsFromDir(new File(PathManager.getPreInstalledPluginsPath()), result, true, context);
}
loadDescriptorsFromProperty(result, context);
- loadDescriptorsFromClassPath(urlsFromClassPath, result, context, platformPluginURL);
if (isUnitTestMode && result.size() <= 1) {
// We're running in unit test mode but the classpath doesn't contain any plugins; try to load bundled plugins anyway
diff --git a/platform/lang-api/src/com/intellij/build/output/BuildOutputInstantReader.java b/platform/lang-api/src/com/intellij/build/output/BuildOutputInstantReader.java
index c84b7c677803..e3a320539df4 100644
--- a/platform/lang-api/src/com/intellij/build/output/BuildOutputInstantReader.java
+++ b/platform/lang-api/src/com/intellij/build/output/BuildOutputInstantReader.java
@@ -17,4 +17,9 @@ public interface BuildOutputInstantReader {
void pushBack();
void pushBack(int numberOfLines);
+
+ // FIXME-ank: this method should be removed
+ default String getCurrentLine(){
+ return null;
+ }
}
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFocusManagerHeadless.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFocusManagerHeadless.java
index 3fe363a974f2..759e9ef88555 100644
--- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFocusManagerHeadless.java
+++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/IdeFocusManagerHeadless.java
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.*;
-public final class IdeFocusManagerHeadless extends IdeFocusManager {
+public class IdeFocusManagerHeadless extends IdeFocusManager { // FIXME-ank: reverted final
public static final IdeFocusManagerHeadless INSTANCE = new IdeFocusManagerHeadless();
@Override
diff --git a/platform/platform-impl/src/com/intellij/ui/picker/MacColorPipette.java b/platform/platform-impl/src/com/intellij/ui/picker/MacColorPipette.java
index 7f49ba357368..419dc0f96cdf 100644
--- a/platform/platform-impl/src/com/intellij/ui/picker/MacColorPipette.java
+++ b/platform/platform-impl/src/com/intellij/ui/picker/MacColorPipette.java
@@ -182,8 +182,10 @@ public class MacColorPipette extends ColorPipetteBase {
return captureScreen(null, new Rectangle(0, 0, 1, 1)) != null;
}
+ // TODO-ank: Screen capturing looks like self-contained feature and should be placed to separate class. Note that it is also used from
+ // com.android.tools.idea.ui.resourcechooser.colorpicker2.GraphicalColorPipette) to pick a color from any window on the screen
@Nullable
- static BufferedImage captureScreen(@Nullable Window belowWindow, @NotNull Rectangle rect) {
+ public static BufferedImage captureScreen(@Nullable Window belowWindow, @NotNull Rectangle rect) {
ID pool = Foundation.invoke("NSAutoreleasePool", "new");
try {
ID windowId = belowWindow != null ? MacUtil.findWindowFromJavaWindow(belowWindow) : null;
diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/externalSystemIntegration/output/MavenBuildToolLogTestUtils.java b/plugins/maven/src/test/java/org/jetbrains/idea/maven/externalSystemIntegration/output/MavenBuildToolLogTestUtils.java
index 83ed72d45316..daac1d0693a4 100644
--- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/externalSystemIntegration/output/MavenBuildToolLogTestUtils.java
+++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/externalSystemIntegration/output/MavenBuildToolLogTestUtils.java
@@ -371,7 +371,7 @@ public abstract class MavenBuildToolLogTestUtils extends UsefulTestCase {
throw new UnsupportedOperationException();
}
- private String getCurrentLine() {
+ public String getCurrentLine() { // FIXME-ank: made public (should be private)
if (myPosition >= myLines.size() || myPosition < 0) {
return null;
}