as36: Add bunches for AS 3.6 C6 based on 192 platform
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx1600m -Dfile.encoding=UTF-8
|
||||||
|
|
||||||
|
cacheRedirectorEnabled=true
|
||||||
|
|
||||||
|
#buildSrc.kotlin.repo=https://jcenter.bintray.com
|
||||||
|
#buildSrc.kotlin.version=1.1.50
|
||||||
|
|
||||||
|
intellijUltimateEnabled=false
|
||||||
@@ -50,7 +50,8 @@ enum class Ide(val platform: Platform) : CompatibilityPredicate {
|
|||||||
AS32(Platform.P181),
|
AS32(Platform.P181),
|
||||||
AS33(Platform.P182),
|
AS33(Platform.P182),
|
||||||
AS34(Platform.P183),
|
AS34(Platform.P183),
|
||||||
AS35(Platform.P183);
|
AS35(Platform.P183),
|
||||||
|
AS36(Platform.P192);
|
||||||
|
|
||||||
val kind = Kind.values().first { it.shortName == name.take(2) }
|
val kind = Kind.values().first { it.shortName == name.take(2) }
|
||||||
val version = name.dropWhile { !it.isDigit() }.toInt()
|
val version = name.dropWhile { !it.isDigit() }.toInt()
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
|||||||
|
org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx1600m -Dfile.encoding=UTF-8
|
||||||
|
|
||||||
|
cacheRedirectorEnabled=true
|
||||||
|
|
||||||
|
kotlin.compiler.effectSystemEnabled=true
|
||||||
|
kotlin.compiler.newInferenceEnabled=true
|
||||||
|
#maven.repository.mirror=http://repository.jetbrains.com/remote-repos/
|
||||||
|
#bootstrap.kotlin.repo=https://dl.bintray.com/kotlin/kotlin-dev
|
||||||
|
#bootstrap.kotlin.version=1.1.50-dev-1451
|
||||||
|
#signingRequired=true
|
||||||
|
|
||||||
|
intellijUltimateEnabled=false
|
||||||
|
intellijEnforceCommunitySdk=true
|
||||||
|
|
||||||
|
## The following properties can be added to your local.properties file to customize the build:
|
||||||
|
|
||||||
|
#jpsBuild=true
|
||||||
|
#cidrPluginsEnabled=true
|
||||||
|
|
||||||
|
## Used for compare gradle and jps build
|
||||||
|
|
||||||
|
#kotlin.build.postprocessing=false
|
||||||
|
#kotlin.build.java9=false
|
||||||
|
#kotlin.build.useBootstrapStdlib=true
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
versions.intellijSdk=192.4787.16-EAP-SNAPSHOT
|
||||||
|
versions.androidBuildTools=r23.0.1
|
||||||
|
versions.idea.NodeJS=181.3494.12
|
||||||
|
versions.androidStudioRelease=3.6.0.5
|
||||||
|
versions.androidStudioBuild=192.5737808
|
||||||
|
versions.jar.asm-all=7.0.1
|
||||||
|
versions.jar.guava=25.1-jre
|
||||||
|
versions.jar.groovy-all=2.4.17
|
||||||
|
versions.jar.lombok-ast=0.2.3
|
||||||
|
versions.jar.swingx-core=1.6.2-2
|
||||||
|
versions.jar.kxml2=2.3.0
|
||||||
|
versions.jar.streamex=0.6.8
|
||||||
|
versions.jar.gson=2.8.5
|
||||||
|
versions.jar.oro=2.0.8
|
||||||
|
versions.jar.picocontainer=1.2
|
||||||
|
ignore.jar.snappy-in-java=true
|
||||||
|
ignore.jar.common=true
|
||||||
|
ignore.jar.lombok-ast=true
|
||||||
|
versions.gradle-api=4.5.1
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
class IDESettingsFUSCollector {
|
||||||
|
// Not whitelisted
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-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/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.statistics
|
||||||
|
|
||||||
|
open class KotlinFUSLogger {
|
||||||
|
companion object {
|
||||||
|
fun log(group: FUSEventGroups, event: String) {
|
||||||
|
// Not whitelisted for AS
|
||||||
|
}
|
||||||
|
|
||||||
|
fun log(group: FUSEventGroups, event: String, eventData: Map<String, String>) {
|
||||||
|
// Not whitelisted for AS
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+8
@@ -0,0 +1,8 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.codeInsight.gradle
|
||||||
|
|
||||||
|
fun isGradleInspectionTestApplicable() = false
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@file:Suppress("IncompatibleAPI")
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.run
|
||||||
|
|
||||||
|
import com.intellij.execution.configurations.LocatableConfigurationBase
|
||||||
|
import com.intellij.execution.configurations.ModuleBasedConfiguration
|
||||||
|
import com.intellij.execution.configurations.RunConfigurationBase
|
||||||
|
import org.jdom.Element
|
||||||
|
|
||||||
|
// Generalized in 183
|
||||||
|
// BUNCH: 182
|
||||||
|
typealias RunConfigurationBaseAny = RunConfigurationBase<*>
|
||||||
|
|
||||||
|
// Generalized in 183
|
||||||
|
// BUNCH: 182
|
||||||
|
typealias ModuleBasedConfigurationAny = ModuleBasedConfiguration<*, *>
|
||||||
|
|
||||||
|
// Generalized in 183
|
||||||
|
// BUNCH: 182
|
||||||
|
typealias LocatableConfigurationBaseAny = LocatableConfigurationBase<Any>
|
||||||
|
|
||||||
|
// Generalized in 183
|
||||||
|
// BUNCH: 182
|
||||||
|
typealias ModuleBasedConfigurationElement<T> = ModuleBasedConfiguration<T, Element>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<idea-plugin>
|
||||||
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
|
<externalAnnotator language="kotlin" implementationClass="org.jetbrains.android.inspections.lint.AndroidLintExternalAnnotator"/>
|
||||||
|
</extensions>
|
||||||
|
</idea-plugin>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
<idea-plugin>
|
||||||
|
<extensions defaultExtensionNs="Git4Idea">
|
||||||
|
</extensions>
|
||||||
|
</idea-plugin>
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude" version="2" url="http://kotlinlang.org" allow-bundled-update="true">
|
||||||
|
<id>org.jetbrains.kotlin</id>
|
||||||
|
|
||||||
|
<name>Kotlin</name>
|
||||||
|
<description><![CDATA[
|
||||||
|
The Kotlin plugin provides language support in IntelliJ IDEA and Android Studio.
|
||||||
|
<br>
|
||||||
|
<a href="http://kotlinlang.org/docs/tutorials/getting-started.html">Getting Started in IntelliJ IDEA</a><br>
|
||||||
|
<a href="http://kotlinlang.org/docs/tutorials/kotlin-android.html">Getting Started in Android Studio</a><br>
|
||||||
|
<a href="http://slack.kotlinlang.org/">Public Slack</a><br>
|
||||||
|
<a href="https://youtrack.jetbrains.com/issues/KT">Issue tracker</a><br>
|
||||||
|
]]></description>
|
||||||
|
<version>@snapshot@</version>
|
||||||
|
<vendor url="http://www.jetbrains.com">JetBrains</vendor>
|
||||||
|
|
||||||
|
<idea-version since-build="192.4787.16.36.5737808" until-build="192.*"/>
|
||||||
|
|
||||||
|
<depends>com.intellij.modules.platform</depends>
|
||||||
|
<depends>com.intellij.modules.androidstudio</depends>
|
||||||
|
|
||||||
|
<depends optional="true" config-file="junit.xml">JUnit</depends>
|
||||||
|
<depends optional="true" config-file="gradle.xml">org.jetbrains.plugins.gradle</depends>
|
||||||
|
<depends optional="true" config-file="gradle-java.xml">org.jetbrains.plugins.gradle.java</depends>
|
||||||
|
<depends optional="true" config-file="gradle-groovy.xml">org.intellij.groovy</depends>
|
||||||
|
<depends optional="true" config-file="maven.xml">org.jetbrains.idea.maven</depends>
|
||||||
|
<depends optional="true" config-file="testng-j.xml">TestNG-J</depends>
|
||||||
|
<depends optional="true" config-file="kotlin-copyright.xml">com.intellij.copyright</depends>
|
||||||
|
<depends optional="true" config-file="coverage.xml">Coverage</depends>
|
||||||
|
<depends optional="true" config-file="i18n.xml">com.intellij.java-i18n</depends>
|
||||||
|
<depends optional="true" config-file="decompiler.xml">org.jetbrains.java.decompiler</depends>
|
||||||
|
<depends optional="true" config-file="git4idea.xml">Git4Idea</depends>
|
||||||
|
<depends optional="true" config-file="stream-debugger.xml">org.jetbrains.debugger.streams</depends>
|
||||||
|
|
||||||
|
<!-- ULTIMATE-PLUGIN-PLACEHOLDER -->
|
||||||
|
|
||||||
|
<!-- CIDR-PLUGIN-PLACEHOLDER-START -->
|
||||||
|
<depends>com.intellij.modules.java</depends>
|
||||||
|
<depends optional="true" config-file="javaScriptDebug.xml">JavaScriptDebugger</depends>
|
||||||
|
<depends optional="true" config-file="kotlin-copyright.xml">com.intellij.copyright</depends>
|
||||||
|
<depends optional="true" config-file="injection.xml">org.intellij.intelliLang</depends>
|
||||||
|
<!-- CIDR-PLUGIN-PLACEHOLDER-END -->
|
||||||
|
|
||||||
|
<xi:include href="plugin-common.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
|
||||||
|
<!-- CIDR-PLUGIN-EXCLUDE-START -->
|
||||||
|
<xi:include href="jvm.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
<!-- CIDR-PLUGIN-EXCLUDE-END -->
|
||||||
|
|
||||||
|
<xi:include href="native.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
<xi:include href="tipsAndTricks.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
|
||||||
|
<xi:include href="extensions/ide.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
|
||||||
|
<xi:include href="kotlinx-serialization.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
|
||||||
|
<extensionPoints>
|
||||||
|
<xi:include href="extensions/compiler.xml" xpointer="xpointer(/idea-plugin/extensionPoints/*)"/>
|
||||||
|
|
||||||
|
<extensionPoint qualifiedName="org.jetbrains.kotlin.pluginUpdateVerifier"
|
||||||
|
interface="org.jetbrains.kotlin.idea.update.PluginUpdateVerifier"/>
|
||||||
|
</extensionPoints>
|
||||||
|
|
||||||
|
<xi:include href="plugin-kotlin-extensions.xml" xpointer="xpointer(/idea-plugin/*)"/>
|
||||||
|
|
||||||
|
<extensions defaultExtensionNs="org.jetbrains.kotlin">
|
||||||
|
<pluginUpdateVerifier implementation="org.jetbrains.kotlin.idea.update.GooglePluginUpdateVerifier"/>
|
||||||
|
</extensions>
|
||||||
|
|
||||||
|
<extensions defaultExtensionNs="com.intellij.jvm">
|
||||||
|
<declarationSearcher language="kotlin" implementationClass="org.jetbrains.kotlin.idea.jvm.KotlinDeclarationSearcher"/>
|
||||||
|
</extensions>
|
||||||
|
|
||||||
|
<extensions defaultExtensionNs="com.intellij">
|
||||||
|
<trafficLightRendererContributor implementation="org.jetbrains.kotlin.idea.core.script.ScriptTrafficLightRendererContributor"/>
|
||||||
|
</extensions>
|
||||||
|
</idea-plugin>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-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/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.highlighter.markers
|
||||||
|
|
||||||
|
import com.intellij.icons.AllIcons
|
||||||
|
import javax.swing.Icon
|
||||||
|
|
||||||
|
// BUNCH: 182
|
||||||
|
// BUNCH: as35
|
||||||
|
// BUNCH: as34
|
||||||
|
internal fun createDslStyleIcon(styleId: Int): Icon {
|
||||||
|
return AllIcons.Gutter.Colors
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.reporter
|
||||||
|
|
||||||
|
import com.intellij.diagnostic.ITNReporter
|
||||||
|
import com.intellij.openapi.diagnostic.IdeaLoggingEvent
|
||||||
|
import com.intellij.openapi.diagnostic.SubmittedReportInfo
|
||||||
|
import com.intellij.util.Consumer
|
||||||
|
import java.awt.Component
|
||||||
|
|
||||||
|
abstract class ITNReporterCompat : ITNReporter() {
|
||||||
|
final override fun submit(
|
||||||
|
events: Array<IdeaLoggingEvent>,
|
||||||
|
additionalInfo: String?,
|
||||||
|
parentComponent: Component?,
|
||||||
|
consumer: Consumer<SubmittedReportInfo>
|
||||||
|
): Boolean {
|
||||||
|
return submitCompat(events, additionalInfo, parentComponent, consumer)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun submitCompat(
|
||||||
|
events: Array<IdeaLoggingEvent>,
|
||||||
|
additionalInfo: String?,
|
||||||
|
parentComponent: Component?,
|
||||||
|
consumer: Consumer<SubmittedReportInfo>
|
||||||
|
): Boolean {
|
||||||
|
@Suppress("IncompatibleAPI")
|
||||||
|
return super.submit(events, additionalInfo, parentComponent, consumer)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@file:Suppress("DEPRECATION")
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea
|
||||||
|
|
||||||
|
import com.intellij.featureStatistics.FeatureStatisticsBundleProvider
|
||||||
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
|
import com.intellij.openapi.extensions.Extensions
|
||||||
|
|
||||||
|
private const val CIDR_FEATURE_STATISTICS_PROVIDER_FQNAME = "com.jetbrains.cidr.lang.OCFeatureStatisticsBundleProvider"
|
||||||
|
|
||||||
|
// Remove the function, when there's no dependency to cidr during running Kotlin tests.
|
||||||
|
fun registerAdditionalResourceBundleInTests() {
|
||||||
|
if (!ApplicationManager.getApplication().isUnitTestMode) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val isAlreadyRegistered = FeatureStatisticsBundleProvider.EP_NAME.extensions.any { provider ->
|
||||||
|
provider.javaClass.name == CIDR_FEATURE_STATISTICS_PROVIDER_FQNAME
|
||||||
|
}
|
||||||
|
if (isAlreadyRegistered) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val cidrFSBundleProviderClass = try {
|
||||||
|
Class.forName(CIDR_FEATURE_STATISTICS_PROVIDER_FQNAME)
|
||||||
|
} catch (_: ClassNotFoundException) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val cidrFSBundleProvider = cidrFSBundleProviderClass.newInstance() as FeatureStatisticsBundleProvider
|
||||||
|
|
||||||
|
Extensions.getRootArea().getExtensionPoint(FeatureStatisticsBundleProvider.EP_NAME).registerExtension(cidrFSBundleProvider)
|
||||||
|
}
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.update
|
||||||
|
|
||||||
|
import com.intellij.ide.plugins.IdeaPluginDescriptor
|
||||||
|
import com.intellij.ide.plugins.PluginManagerCore
|
||||||
|
import com.intellij.ide.plugins.PluginNode
|
||||||
|
import com.intellij.openapi.diagnostic.Logger
|
||||||
|
import org.jetbrains.kotlin.idea.util.isDev
|
||||||
|
import org.jetbrains.kotlin.idea.util.isEap
|
||||||
|
import java.io.IOException
|
||||||
|
import java.net.URL
|
||||||
|
import java.util.*
|
||||||
|
import javax.xml.bind.JAXBContext
|
||||||
|
import javax.xml.bind.JAXBException
|
||||||
|
import javax.xml.bind.annotation.*
|
||||||
|
|
||||||
|
class GooglePluginUpdateVerifier : PluginUpdateVerifier() {
|
||||||
|
override val verifierName: String
|
||||||
|
get() = "Android Studio"
|
||||||
|
|
||||||
|
// Verifies if a plugin can be installed in Android Studio 3.2+.
|
||||||
|
// Currently used only by KotlinPluginUpdater.
|
||||||
|
override fun verify(pluginDescriptor: IdeaPluginDescriptor): PluginVerifyResult? {
|
||||||
|
if (pluginDescriptor.pluginId.idString != KOTLIN_PLUGIN_ID) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
val version = pluginDescriptor.version
|
||||||
|
if (isEap(version) || isDev(version)) {
|
||||||
|
return PluginVerifyResult.accept()
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
val url = URL(METADATA_FILE_URL)
|
||||||
|
val stream = url.openStream()
|
||||||
|
val context = JAXBContext.newInstance(PluginCompatibility::class.java)
|
||||||
|
val unmarshaller = context.createUnmarshaller()
|
||||||
|
val pluginCompatibility = unmarshaller.unmarshal(stream) as PluginCompatibility
|
||||||
|
|
||||||
|
val release = getRelease(pluginCompatibility)
|
||||||
|
?: return PluginVerifyResult.decline("No verified versions for this build.")
|
||||||
|
|
||||||
|
return if (release.plugins().any { KOTLIN_PLUGIN_ID == it.id && version == it.version })
|
||||||
|
PluginVerifyResult.accept()
|
||||||
|
else
|
||||||
|
PluginVerifyResult.decline("Version to be verified.")
|
||||||
|
} catch (e: Exception) {
|
||||||
|
LOG.info("Exception when verifying plugin ${pluginDescriptor.pluginId.idString} version $version", e)
|
||||||
|
return when (e) {
|
||||||
|
is IOException ->
|
||||||
|
PluginVerifyResult.decline("unable to connect to compatibility verification repository")
|
||||||
|
is JAXBException -> PluginVerifyResult.decline("unable to parse compatibility verification metadata")
|
||||||
|
else -> PluginVerifyResult.decline("exception during verification ${e.message}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getRelease(pluginCompatibility: PluginCompatibility): StudioRelease? {
|
||||||
|
for (studioRelease in pluginCompatibility.releases()) {
|
||||||
|
if (buildInRange(studioRelease.name, studioRelease.sinceBuild, studioRelease.untilBuild)) {
|
||||||
|
return studioRelease
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buildInRange(name: String?, sinceBuild: String?, untilBuild: String?): Boolean {
|
||||||
|
val descriptor = PluginNode()
|
||||||
|
descriptor.name = name
|
||||||
|
descriptor.sinceBuild = sinceBuild
|
||||||
|
descriptor.untilBuild = untilBuild
|
||||||
|
return PluginManagerCore.isCompatible(descriptor)
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val KOTLIN_PLUGIN_ID = "org.jetbrains.kotlin"
|
||||||
|
private const val METADATA_FILE_URL = "https://dl.google.com/android/studio/plugins/compatibility.xml"
|
||||||
|
|
||||||
|
private val LOG = Logger.getInstance(GooglePluginUpdateVerifier::class.java)
|
||||||
|
|
||||||
|
private fun PluginCompatibility.releases() = studioRelease ?: emptyArray()
|
||||||
|
private fun StudioRelease.plugins() = ideaPlugin ?: emptyArray()
|
||||||
|
|
||||||
|
@XmlRootElement(name = "plugin-compatibility")
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
class PluginCompatibility {
|
||||||
|
@XmlElement(name = "studio-release")
|
||||||
|
var studioRelease: Array<StudioRelease>? = null
|
||||||
|
|
||||||
|
override fun toString(): String {
|
||||||
|
return "PluginCompatibility(studioRelease=${Arrays.toString(studioRelease)})"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
class StudioRelease {
|
||||||
|
@XmlAttribute(name = "until-build")
|
||||||
|
var untilBuild: String? = null
|
||||||
|
@XmlAttribute(name = "since-build")
|
||||||
|
var sinceBuild: String? = null
|
||||||
|
@XmlAttribute
|
||||||
|
var name: String? = null
|
||||||
|
@XmlAttribute
|
||||||
|
var channel: String? = null
|
||||||
|
|
||||||
|
@XmlElement(name = "idea-plugin")
|
||||||
|
var ideaPlugin: Array<IdeaPlugin>? = null
|
||||||
|
|
||||||
|
override fun toString(): String {
|
||||||
|
return "StudioRelease(" +
|
||||||
|
"untilBuild=$untilBuild, name=$name, ideaPlugin=${Arrays.toString(ideaPlugin)}, " +
|
||||||
|
"sinceBuild=$sinceBuild, channel=$channel" +
|
||||||
|
")"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
class IdeaPlugin {
|
||||||
|
@XmlAttribute
|
||||||
|
var id: String? = null
|
||||||
|
@XmlAttribute
|
||||||
|
var sha256: String? = null
|
||||||
|
@XmlAttribute
|
||||||
|
var channel: String? = null
|
||||||
|
@XmlAttribute
|
||||||
|
var version: String? = null
|
||||||
|
|
||||||
|
@XmlElement(name = "idea-version")
|
||||||
|
var ideaVersion: IdeaVersion? = null
|
||||||
|
|
||||||
|
override fun toString(): String {
|
||||||
|
return "IdeaPlugin(id=$id, sha256=$sha256, ideaVersion=$ideaVersion, channel=$channel, version=$version)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
|
class IdeaVersion {
|
||||||
|
@XmlAttribute(name = "until-build")
|
||||||
|
var untilBuild: String? = null
|
||||||
|
@XmlAttribute(name = "since-build")
|
||||||
|
var sinceBuild: String? = null
|
||||||
|
|
||||||
|
override fun toString(): String {
|
||||||
|
return "IdeaVersion(untilBuild=$untilBuild, sinceBuild=$sinceBuild)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.update
|
||||||
|
|
||||||
|
import com.intellij.ide.plugins.IdeaPluginDescriptor
|
||||||
|
import com.intellij.openapi.util.registry.Registry
|
||||||
|
import org.jetbrains.kotlin.idea.PluginUpdateStatus
|
||||||
|
|
||||||
|
// Do an additional verification with PluginUpdateVerifier. Enabled only in AS 3.2+
|
||||||
|
fun verify(updateStatus: PluginUpdateStatus.Update): PluginUpdateStatus {
|
||||||
|
@Suppress("InvalidBundleOrProperty")
|
||||||
|
val pluginVerifierEnabled = Registry.`is`("kotlin.plugin.update.verifier.enabled", true)
|
||||||
|
if (!pluginVerifierEnabled) {
|
||||||
|
return updateStatus
|
||||||
|
}
|
||||||
|
|
||||||
|
val pluginDescriptor: IdeaPluginDescriptor = updateStatus.pluginDescriptor
|
||||||
|
val pluginVerifiers = PluginUpdateVerifier.EP_NAME.extensions
|
||||||
|
|
||||||
|
for (pluginVerifier in pluginVerifiers) {
|
||||||
|
val verifyResult = pluginVerifier.verify(pluginDescriptor) ?: continue
|
||||||
|
if (!verifyResult.verified) {
|
||||||
|
return PluginUpdateStatus.Unverified(
|
||||||
|
pluginVerifier.verifierName,
|
||||||
|
verifyResult.declineMessage,
|
||||||
|
updateStatus
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return updateStatus
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.jps.build
|
||||||
|
|
||||||
|
import org.jetbrains.jps.incremental.CompileContext
|
||||||
|
import org.jetbrains.jps.incremental.messages.CompilerMessage
|
||||||
|
|
||||||
|
fun jpsReportInternalBuilderError(context: CompileContext, error: Throwable) {
|
||||||
|
KotlinBuilder.LOG.info(error)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user