183: Update IDEA version to 183.3975.18

This commit is contained in:
Nicolay Mitropolsky
2018-10-25 15:43:43 +03:00
parent 4d5b00d3e3
commit 23d2269aac
7 changed files with 187 additions and 18 deletions
+4 -3
View File
@@ -108,9 +108,10 @@
<Problem reference="com.intellij.notification.NotificationAction#createSimple" reason="Absent in 173." /> <Problem reference="com.intellij.notification.NotificationAction#createSimple" reason="Absent in 173." />
<Problem reference="com.intellij.notification.NotificationAction#create" reason="Absent in 173." /> <Problem reference="com.intellij.notification.NotificationAction#create" reason="Absent in 173." />
<Problem reference="com.intellij.util.JdomKt#element" reason="Removed in 191" /> <Problem reference="com.intellij.util.JdomKt#element" reason="Removed in 191" />
<Problem reference="com.intellij.execution.JavaRunConfigurationExtensionManager#getInstance" reason="Can't be used in Kotlin, because method was replaced with property after J2K in 191. Use JavaRunConfigurationExtensionManagerUtil instead." /> <Problem reference="com.intellij.execution.JavaRunConfigurationExtensionManager#getInstance" reason="Can't be used in Kotlin, because method was replaced with property after J2K in 183. Use JavaRunConfigurationExtensionManagerUtil instead." />
<Problem reference="com.intellij.execution.configurations.RunConfigurationBase" reason="Generalized in 191. Use RunConfigurationBaseAny instead in signatures." /> <Problem reference="com.intellij.execution.configurations.RunConfigurationBase" reason="Generalized in 183. Use RunConfigurationBaseAny instead in signatures." />
<Problem reference="com.intellij.execution.configurations.ModuleBasedConfiguration" reason="Generalized in 191. Use ModuleBasedConfigurationElement instead." /> <Problem reference="com.intellij.execution.configurations.LocatableConfigurationBase" reason="Generalized in 183. Use LocatableConfigurationBaseAny instead in signatures." />
<Problem reference="com.intellij.execution.configurations.ModuleBasedConfiguration" reason="Generalized in 183. Use ModuleBasedConfigurationElement instead." />
</list> </list>
</option> </option>
</inspection_tool> </inspection_tool>
@@ -7,18 +7,23 @@
package org.jetbrains.kotlin.idea.run package org.jetbrains.kotlin.idea.run
import com.intellij.execution.configurations.LocatableConfigurationBase
import com.intellij.execution.configurations.ModuleBasedConfiguration import com.intellij.execution.configurations.ModuleBasedConfiguration
import com.intellij.execution.configurations.RunConfigurationBase import com.intellij.execution.configurations.RunConfigurationBase
import org.jdom.Element import org.jdom.Element
// Generalized in 191 // Generalized in 183
// BUNCH: 191 // BUNCH: 183
typealias RunConfigurationBaseAny = RunConfigurationBase typealias RunConfigurationBaseAny = RunConfigurationBase
// Generalized in 191 // Generalized in 183
// BUNCH: 191 // BUNCH: 183
typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*> typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*>
// Generalized in 191 // Generalized in 183
// BUNCH: 191 // BUNCH: 183
typealias LocatableConfigurationBaseAny = LocatableConfigurationBase
// Generalized in 183
// BUNCH: 183
typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T> typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T>
@@ -7,18 +7,23 @@
package org.jetbrains.kotlin.idea.run package org.jetbrains.kotlin.idea.run
import com.intellij.execution.configurations.LocatableConfigurationBase
import com.intellij.execution.configurations.ModuleBasedConfiguration import com.intellij.execution.configurations.ModuleBasedConfiguration
import com.intellij.execution.configurations.RunConfigurationBase import com.intellij.execution.configurations.RunConfigurationBase
import org.jdom.Element import org.jdom.Element
// Generalized in 191 // Generalized in 183
// BUNCH: 191 // BUNCH: 183
typealias RunConfigurationBaseAny = RunConfigurationBase<*> typealias RunConfigurationBaseAny = RunConfigurationBase<*>
// Generalized in 191 // Generalized in 183
// BUNCH: 191 // BUNCH: 183
typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*, *> typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*, *>
// Generalized in 191 // Generalized in 183
// BUNCH: 191 // BUNCH: 183
typealias LocatableConfigurationBaseAny = LocatableConfigurationBase<Any>
// Generalized in 183
// BUNCH: 183
typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T, Element> typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T, Element>
+155
View File
@@ -0,0 +1,155 @@
import java.io.File
import proguard.gradle.ProGuardTask
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.api.artifacts.maven.Conf2ScopeMappingContainer.COMPILE
import org.gradle.api.file.DuplicatesStrategy
description = "Kotlin Compiler"
plugins {
// HACK: java plugin makes idea import dependencies on this project as source (with empty sources however),
// this prevents reindexing of kotlin-compiler.jar after build on every change in compiler modules
java
}
// You can run Gradle with "-Pkotlin.build.proguard=true" to enable ProGuard run on kotlin-compiler.jar (on TeamCity, ProGuard always runs)
val shrink =
findProperty("kotlin.build.proguard")?.toString()?.toBoolean()
?: hasProperty("teamcity")
val compilerManifestClassPath = "kotlin-stdlib.jar kotlin-reflect.jar kotlin-script-runtime.jar"
val fatJarContents by configurations.creating
val fatJarContentsStripMetadata by configurations.creating
val fatJarContentsStripServices by configurations.creating
val fatSourcesJarContents by configurations.creating
val fatJar by configurations.creating
val compilerJar by configurations.creating
val runtimeJar by configurations.creating
val compile by configurations // maven plugin writes pom compile scope from compile configuration by default
val libraries by configurations.creating {
extendsFrom(compile)
}
val default by configurations
default.extendsFrom(runtimeJar)
val compilerBaseName = name
val outputJar = fileFrom(buildDir, "libs", "$compilerBaseName.jar")
val compilerModules: Array<String> by rootProject.extra
compilerModules.forEach { evaluationDependsOn(it) }
val compiledModulesSources = compilerModules.map {
project(it).mainSourceSet.allSource
}
dependencies {
compile(project(":kotlin-stdlib"))
compile(project(":kotlin-script-runtime"))
compile(project(":kotlin-reflect"))
libraries(project(":kotlin-annotations-jvm"))
libraries(
files(
firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"),
firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"),
toolsJar()
)
)
compilerModules.forEach {
fatJarContents(project(it)) { isTransitive = false }
}
compiledModulesSources.forEach {
fatSourcesJarContents(it)
}
fatJarContents(project(":core:builtins", configuration = "builtins"))
fatJarContents(commonDep("javax.inject"))
fatJarContents(commonDep("org.jline", "jline"))
fatJarContents(commonDep("org.fusesource.jansi", "jansi"))
fatJarContents(protobufFull())
fatJarContents(commonDep("com.google.code.findbugs", "jsr305"))
fatJarContents(commonDep("io.javaslang", "javaslang"))
fatJarContents(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false }
fatJarContents(intellijCoreDep()) { includeJars("intellij-core", "java-compatibility-1.0.1") }
fatJarContents(intellijDep()) { includeIntellijCoreJarDependencies(project, { !(it.startsWith("jdom") || it.startsWith("log4j")) }) }
fatJarContents(intellijDep()) { includeJars("jna-platform", "lz4-1.3.0") }
fatJarContentsStripServices(intellijDep("jps-standalone")) { includeJars("jps-model") }
fatJarContentsStripMetadata(intellijDep()) { includeJars("oro-2.0.8", "jdom", "log4j" ) }
}
noDefaultJar()
val packCompiler by task<ShadowJar> {
configurations = listOf(fatJar)
setDuplicatesStrategy(DuplicatesStrategy.EXCLUDE)
destinationDir = File(buildDir, "libs")
setupPublicJar(compilerBaseName, "before-proguard")
from(fatJarContents)
dependsOn(fatJarContentsStripServices)
from {
fatJarContentsStripServices.files.map {
zipTree(it).matching { exclude("META-INF/services/**") }
}
}
dependsOn(fatJarContentsStripMetadata)
from {
fatJarContentsStripMetadata.files.map {
zipTree(it).matching { exclude("META-INF/jb/**", "META-INF/LICENSE") }
}
}
manifest.attributes["Class-Path"] = compilerManifestClassPath
manifest.attributes["Main-Class"] = "org.jetbrains.kotlin.cli.jvm.K2JVMCompiler"
}
val proguard by task<ProGuardTask> {
dependsOn(packCompiler)
configuration("$rootDir/compiler/compiler.pro")
val outputJar = fileFrom(buildDir, "libs", "$compilerBaseName-after-proguard.jar")
inputs.files(packCompiler.outputs.files.singleFile)
outputs.file(outputJar)
// TODO: remove after dropping compatibility with ant build
doFirst {
System.setProperty("kotlin-compiler-jar-before-shrink", packCompiler.outputs.files.singleFile.canonicalPath)
System.setProperty("kotlin-compiler-jar", outputJar.canonicalPath)
}
libraryjars(mapOf("filter" to "!META-INF/versions/**"), libraries)
printconfiguration("$buildDir/compiler.pro.dump")
}
val pack = if (shrink) proguard else packCompiler
dist(
targetName = "$compilerBaseName.jar",
fromTask = pack
)
runtimeJarArtifactBy(pack, pack.outputs.files.singleFile) {
name = compilerBaseName
classifier = ""
}
sourcesJar {
from(fatSourcesJarContents)
}
javadocJar()
publish()
@@ -27,6 +27,7 @@ import com.intellij.javascript.protractor.ProtractorUtil
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.util.PathUtil import com.intellij.util.PathUtil
import org.jdom.Element import org.jdom.Element
import org.jetbrains.kotlin.idea.run.LocatableConfigurationBaseAny
import java.io.File import java.io.File
// Based on com.intellij.javascript.protractor.ProtractorRunConfiguration // Based on com.intellij.javascript.protractor.ProtractorRunConfiguration
@@ -34,7 +35,7 @@ class KotlinProtractorRunConfiguration(
project: Project, project: Project,
factory: ConfigurationFactory, factory: ConfigurationFactory,
name: String name: String
) : LocatableConfigurationBase(project, factory, name) { ) : LocatableConfigurationBaseAny(project, factory, name) {
var runSettings = KotlinProtractorRunSettings() var runSettings = KotlinProtractorRunSettings()
val protractorPackage: NodePackage val protractorPackage: NodePackage
@@ -72,7 +72,7 @@ class KotlinProtractorRunConfigurationProducer :
testFilePath = configData.jsOutputFilePath, testFilePath = configData.jsOutputFilePath,
envData = configData.module.getNodeJsEnvironmentVars(true) envData = configData.module.getNodeJsEnvironmentVars(true)
) )
configuration.name = configuration.suggestedName() configuration.name = configuration.suggestedName() ?: "Unknown"
configuration.addBuildTask() configuration.addBuildTask()
return true return true
} }
+3 -1
View File
@@ -1,4 +1,4 @@
extra["versions.intellijSdk"] = "183.2153.8" extra["versions.intellijSdk"] = "183.3975.18"
extra["versions.androidBuildTools"] = "r23.0.1" extra["versions.androidBuildTools"] = "r23.0.1"
extra["versions.idea.NodeJS"] = "181.3494.12" extra["versions.idea.NodeJS"] = "181.3494.12"
//extra["versions.androidStudioRelease"] = "3.1.0.5" //extra["versions.androidStudioRelease"] = "3.1.0.5"
@@ -40,6 +40,8 @@ when (platform) {
extra["versions.jar.gson"] = "2.8.5" extra["versions.jar.gson"] = "2.8.5"
extra["versions.jar.oro"] = "2.0.8" extra["versions.jar.oro"] = "2.0.8"
extra["versions.jar.picocontainer"] = "1.2" extra["versions.jar.picocontainer"] = "1.2"
extra["versions.jar.asm-all"] = "7.0-beta"
for (jar in gradleJars) { for (jar in gradleJars) {
extra["versions.jar.$jar"] = "4.5.1" extra["versions.jar.$jar"] = "4.5.1"
} }