Switch to 192 platform
This commit is contained in:
@@ -21,6 +21,7 @@ import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||
import java.io.File
|
||||
import java.io.Serializable
|
||||
import com.intellij.openapi.externalSystem.model.Key as ExternalKey
|
||||
import com.intellij.serialization.PropertyMapping
|
||||
|
||||
var DataNode<out ModuleData>.kotlinSourceSet: KotlinSourceSetInfo?
|
||||
by CopyableDataNodeUserDataProperty(Key.create("KOTLIN_SOURCE_SET"))
|
||||
@@ -28,7 +29,7 @@ var DataNode<out ModuleData>.kotlinSourceSet: KotlinSourceSetInfo?
|
||||
val DataNode<ModuleData>.kotlinAndroidSourceSets: List<KotlinSourceSetInfo>?
|
||||
get() = ExternalSystemApiUtil.getChildren(this, KotlinAndroidSourceSetData.KEY).firstOrNull()?.data?.sourceSetInfos
|
||||
|
||||
class KotlinSourceSetInfo(val kotlinModule: KotlinModule) : Serializable {
|
||||
class KotlinSourceSetInfo @PropertyMapping("kotlinModule") constructor(val kotlinModule: KotlinModule) : Serializable {
|
||||
var moduleId: String? = null
|
||||
var gradleModuleId: String = ""
|
||||
|
||||
@@ -46,15 +47,15 @@ class KotlinSourceSetInfo(val kotlinModule: KotlinModule) : Serializable {
|
||||
var dependsOn: List<String> = emptyList()
|
||||
}
|
||||
|
||||
class KotlinAndroidSourceSetData(
|
||||
val sourceSetInfos: List<KotlinSourceSetInfo>
|
||||
class KotlinAndroidSourceSetData @PropertyMapping("sourceSetInfos") constructor(val sourceSetInfos: List<KotlinSourceSetInfo>
|
||||
) : AbstractExternalEntityData(GradleConstants.SYSTEM_ID) {
|
||||
companion object {
|
||||
val KEY = ExternalKey.create(KotlinAndroidSourceSetData::class.java, KotlinTargetData.KEY.processingWeight + 1)
|
||||
}
|
||||
}
|
||||
|
||||
class KotlinTargetData(name: String) : AbstractNamedData(GradleConstants.SYSTEM_ID, name) {
|
||||
class KotlinTargetData @PropertyMapping("externalName") constructor(externalName: String) :
|
||||
AbstractNamedData(GradleConstants.SYSTEM_ID, externalName) {
|
||||
var moduleIds: Set<String> = emptySet()
|
||||
var archiveFile: File? = null
|
||||
var konanArtifacts: Collection<KonanArtifactModel>? = null
|
||||
@@ -68,4 +69,4 @@ class KotlinOutputPathsData(val paths: MultiMap<ExternalSystemSourceType, String
|
||||
companion object {
|
||||
val KEY = ExternalKey.create(KotlinOutputPathsData::class.java, ProjectKeys.CONTENT_ROOT.processingWeight + 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-6
@@ -21,7 +21,6 @@ import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||
import java.io.File
|
||||
import java.io.Serializable
|
||||
import com.intellij.openapi.externalSystem.model.Key as ExternalKey
|
||||
import com.intellij.serialization.PropertyMapping
|
||||
|
||||
var DataNode<out ModuleData>.kotlinSourceSet: KotlinSourceSetInfo?
|
||||
by CopyableDataNodeUserDataProperty(Key.create("KOTLIN_SOURCE_SET"))
|
||||
@@ -29,7 +28,7 @@ var DataNode<out ModuleData>.kotlinSourceSet: KotlinSourceSetInfo?
|
||||
val DataNode<ModuleData>.kotlinAndroidSourceSets: List<KotlinSourceSetInfo>?
|
||||
get() = ExternalSystemApiUtil.getChildren(this, KotlinAndroidSourceSetData.KEY).firstOrNull()?.data?.sourceSetInfos
|
||||
|
||||
class KotlinSourceSetInfo @PropertyMapping("kotlinModule") constructor(val kotlinModule: KotlinModule) : Serializable {
|
||||
class KotlinSourceSetInfo(val kotlinModule: KotlinModule) : Serializable {
|
||||
var moduleId: String? = null
|
||||
var gradleModuleId: String = ""
|
||||
|
||||
@@ -47,15 +46,15 @@ class KotlinSourceSetInfo @PropertyMapping("kotlinModule") constructor(val kotli
|
||||
var dependsOn: List<String> = emptyList()
|
||||
}
|
||||
|
||||
class KotlinAndroidSourceSetData @PropertyMapping("sourceSetInfos") constructor(val sourceSetInfos: List<KotlinSourceSetInfo>
|
||||
class KotlinAndroidSourceSetData(
|
||||
val sourceSetInfos: List<KotlinSourceSetInfo>
|
||||
) : AbstractExternalEntityData(GradleConstants.SYSTEM_ID) {
|
||||
companion object {
|
||||
val KEY = ExternalKey.create(KotlinAndroidSourceSetData::class.java, KotlinTargetData.KEY.processingWeight + 1)
|
||||
}
|
||||
}
|
||||
|
||||
class KotlinTargetData @PropertyMapping("externalName") constructor(externalName: String) :
|
||||
AbstractNamedData(GradleConstants.SYSTEM_ID, externalName) {
|
||||
class KotlinTargetData(name: String) : AbstractNamedData(GradleConstants.SYSTEM_ID, name) {
|
||||
var moduleIds: Set<String> = emptySet()
|
||||
var archiveFile: File? = null
|
||||
var konanArtifacts: Collection<KonanArtifactModel>? = null
|
||||
@@ -69,4 +68,4 @@ class KotlinOutputPathsData(val paths: MultiMap<ExternalSystemSourceType, String
|
||||
companion object {
|
||||
val KEY = ExternalKey.create(KotlinOutputPathsData::class.java, ProjectKeys.CONTENT_ROOT.processingWeight + 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
+17
-1
@@ -11,6 +11,7 @@ import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsPr
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.AbstractProjectDataService
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.packaging.artifacts.ModifiableArtifactModel
|
||||
import com.intellij.packaging.impl.artifacts.JarArtifactType
|
||||
import com.intellij.packaging.impl.elements.ProductionModuleOutputPackagingElement
|
||||
import org.jetbrains.kotlin.idea.util.createPointer
|
||||
@@ -27,7 +28,22 @@ class KotlinTargetDataService : AbstractProjectDataService<KotlinTargetData, Voi
|
||||
for (nodeToImport in toImport) {
|
||||
val targetData = nodeToImport.data
|
||||
val archiveFile = targetData.archiveFile ?: continue
|
||||
val artifactModel = modelsProvider.modifiableArtifactModel
|
||||
|
||||
//TODO(auskov) should be replaced with direct invocation of the method after migration to new API in IDEA 192
|
||||
val artifactModel = try {
|
||||
val oldMethod = modelsProvider.javaClass.getMethod("getModifiableArtifactModel")
|
||||
oldMethod.invoke(modelsProvider) as ModifiableArtifactModel
|
||||
} catch (_: Exception) {
|
||||
val newMethod = modelsProvider.javaClass.getMethod("getModifiableModel", Class::class.java)
|
||||
val packagingModifiableModel = newMethod.invoke(
|
||||
modelsProvider,
|
||||
Class.forName("com.intellij.openapi.externalSystem.project.PackagingModifiableModel")
|
||||
)
|
||||
packagingModifiableModel.javaClass
|
||||
.getMethod("getModifiableArtifactModel")
|
||||
.invoke(packagingModifiableModel) as ModifiableArtifactModel
|
||||
}
|
||||
|
||||
val artifactName = FileUtil.getNameWithoutExtension(archiveFile)
|
||||
artifactModel.findArtifact(artifactName)?.let { artifactModel.removeArtifact(it) }
|
||||
artifactModel.addArtifact(artifactName, JarArtifactType.getInstance()).also {
|
||||
|
||||
+1
-17
@@ -11,7 +11,6 @@ import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsPr
|
||||
import com.intellij.openapi.externalSystem.service.project.manage.AbstractProjectDataService
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.packaging.artifacts.ModifiableArtifactModel
|
||||
import com.intellij.packaging.impl.artifacts.JarArtifactType
|
||||
import com.intellij.packaging.impl.elements.ProductionModuleOutputPackagingElement
|
||||
import org.jetbrains.kotlin.idea.util.createPointer
|
||||
@@ -28,22 +27,7 @@ class KotlinTargetDataService : AbstractProjectDataService<KotlinTargetData, Voi
|
||||
for (nodeToImport in toImport) {
|
||||
val targetData = nodeToImport.data
|
||||
val archiveFile = targetData.archiveFile ?: continue
|
||||
|
||||
//TODO(auskov) should be replaced with direct invocation of the method after migration to new API in IDEA 192
|
||||
val artifactModel = try {
|
||||
val oldMethod = modelsProvider.javaClass.getMethod("getModifiableArtifactModel")
|
||||
oldMethod.invoke(modelsProvider) as ModifiableArtifactModel
|
||||
} catch (_: Exception) {
|
||||
val newMethod = modelsProvider.javaClass.getMethod("getModifiableModel", Class::class.java)
|
||||
val packagingModifiableModel = newMethod.invoke(
|
||||
modelsProvider,
|
||||
Class.forName("com.intellij.openapi.externalSystem.project.PackagingModifiableModel")
|
||||
)
|
||||
packagingModifiableModel.javaClass
|
||||
.getMethod("getModifiableArtifactModel")
|
||||
.invoke(packagingModifiableModel) as ModifiableArtifactModel
|
||||
}
|
||||
|
||||
val artifactModel = modelsProvider.modifiableArtifactModel
|
||||
val artifactName = FileUtil.getNameWithoutExtension(archiveFile)
|
||||
artifactModel.findArtifact(artifactName)?.let { artifactModel.removeArtifact(it) }
|
||||
artifactModel.addArtifact(artifactName, JarArtifactType.getInstance()).also {
|
||||
+2
-3
@@ -5,14 +5,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.gradle.execution
|
||||
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.toCanonicalPath
|
||||
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService
|
||||
import com.intellij.openapi.module.Module
|
||||
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
|
||||
|
||||
//BUNCH: 183
|
||||
fun isDelegatedBuild(module: Module): Boolean {
|
||||
val projectUrl = module.project.presentableUrl
|
||||
if (projectUrl == null || !GradleSettingsService.getInstance(module.project).isDelegatedBuildEnabled(toCanonicalPath(projectUrl))) {
|
||||
if (projectUrl == null || !GradleProjectSettings.isDelegatedBuildEnabled(module)) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
||||
+3
-2
@@ -5,13 +5,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.gradle.execution
|
||||
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.toCanonicalPath
|
||||
import org.jetbrains.plugins.gradle.service.settings.GradleSettingsService
|
||||
import com.intellij.openapi.module.Module
|
||||
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
|
||||
|
||||
//BUNCH: 183
|
||||
fun isDelegatedBuild(module: Module): Boolean {
|
||||
val projectUrl = module.project.presentableUrl
|
||||
if (projectUrl == null || !GradleProjectSettings.isDelegatedBuildEnabled(module)) {
|
||||
if (projectUrl == null || !GradleSettingsService.getInstance(module.project).isDelegatedBuildEnabled(toCanonicalPath(projectUrl))) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
Reference in New Issue
Block a user