ES: extract packaging modifiable models to java plugin IDEA-187832

GitOrigin-RevId: 67f8209b711806a587d041fd1adc9529ea002916
This commit is contained in:
Vladislav.Soroka
2019-06-11 18:18:28 +03:00
committed by intellij-monorepo-bot
parent 8dbc95f646
commit 9c5ffd4573
31 changed files with 386 additions and 311 deletions
@@ -5,7 +5,7 @@ import com.intellij.execution.BeforeRunTask
import com.intellij.execution.BeforeRunTaskProvider
import com.intellij.execution.configurations.RunConfiguration
import com.intellij.openapi.externalSystem.model.project.settings.ConfigurationData
import com.intellij.openapi.externalSystem.project.ModifiableArtifactsProvider
import com.intellij.openapi.externalSystem.project.PackagingModifiableModel
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleManager
@@ -25,14 +25,14 @@ import com.intellij.util.ObjectUtils.consumeIfCast
class ArtifactsImporter: ConfigurationHandler {
override fun apply(project: Project, modelsProvider: IdeModifiableModelsProvider, configuration: ConfigurationData) {
if (modelsProvider !is ModifiableArtifactsProvider) return
val artifacts = configuration.find("ideArtifacts") as? List<*> ?: return
if (artifacts.isEmpty()) {
return
}
val modifiableModel = modelsProvider.modifiableArtifactModel
val packagingModifiableModel = modelsProvider.getModifiableModel(PackagingModifiableModel::class.java)
val modifiableModel = packagingModifiableModel.modifiableArtifactModel
val postponedOps: MutableList<(ModifiableArtifactModel) -> Unit> = mutableListOf()
artifacts.forEach { value ->
@@ -11,6 +11,7 @@
<orderEntry type="module" module-name="intellij.platform.projectModel.impl" />
<orderEntry type="library" name="JDOM" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.ui" />
<orderEntry type="module" module-name="intellij.platform.externalSystem" />
</component>
<component name="copyright">
<Base>
@@ -1,11 +1,12 @@
// 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 com.intellij.openapi.externalSystem.project;
import com.intellij.openapi.externalSystem.service.project.ModifiableModel;
import com.intellij.packaging.artifacts.ModifiableArtifactModel;
import com.intellij.packaging.elements.PackagingElementResolvingContext;
import org.jetbrains.annotations.NotNull;
public interface ModifiableArtifactsProvider {
public interface PackagingModifiableModel extends ModifiableModel {
@NotNull
ModifiableArtifactModel getModifiableArtifactModel();