From 8dbc95f646bda8b72b11ddfd6e2e19741d8aa3a0 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Tue, 4 Jun 2019 15:53:18 +0300 Subject: [PATCH] ES: remove `intellij.java.compiler` dependency from ES api module IDEA-187832 GitOrigin-RevId: 6c6c411afaaf73bbd286a795608227055329f4ee --- .../impl/intellij.java.compiler.impl.iml | 1 + .../project/settings/ArtifactsImporter.kt | 4 +++- .../ArtifactExternalDependenciesImporter.java | 18 ++---------------- .../project/ModifiableArtifactsProvider.java | 16 ++++++++++++++++ java/java-impl/src/META-INF/JavaPlugin.xml | 1 + .../intellij.platform.externalSystem.iml | 1 - .../project/IdeModifiableModelsProvider.java | 9 --------- .../AbstractIdeModifiableModelsProvider.java | 5 ++++- ...tifactExternalDependenciesImporterImpl.java | 1 + .../src/META-INF/ExternalSystemExtensions.xml | 1 - .../maven/AppEngineFacetImporter.java | 4 ++-- .../idea/maven/importing/FacetImporter.java | 14 ++++++++++++++ 12 files changed, 44 insertions(+), 31 deletions(-) rename {platform/external-system-impl => java/compiler/impl}/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt (97%) rename {platform/external-system-api/src/com/intellij/openapi/externalSystem/service => java/compiler/openapi/src/com/intellij/openapi/externalSystem}/project/ArtifactExternalDependenciesImporter.java (55%) create mode 100644 java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ModifiableArtifactsProvider.java diff --git a/java/compiler/impl/intellij.java.compiler.impl.iml b/java/compiler/impl/intellij.java.compiler.impl.iml index ddc9b9511761..80627eb1dc14 100644 --- a/java/compiler/impl/intellij.java.compiler.impl.iml +++ b/java/compiler/impl/intellij.java.compiler.impl.iml @@ -30,6 +30,7 @@ + diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt b/java/compiler/impl/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt similarity index 97% rename from platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt rename to java/compiler/impl/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt index e61db3b3c4c4..9a744391d4d8 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt +++ b/java/compiler/impl/src/com/intellij/openapi/externalSystem/service/project/settings/ArtifactsImporter.kt @@ -1,10 +1,11 @@ -// Copyright 2000-2018 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. +// 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.service.project.settings 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.service.project.IdeModifiableModelsProvider import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleManager @@ -24,6 +25,7 @@ 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()) { diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporter.java b/java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ArtifactExternalDependenciesImporter.java similarity index 55% rename from platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporter.java rename to java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ArtifactExternalDependenciesImporter.java index b9398bd2c4f1..a45b781a9575 100644 --- a/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporter.java +++ b/java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ArtifactExternalDependenciesImporter.java @@ -1,19 +1,5 @@ -/* - * Copyright 2000-2015 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.openapi.externalSystem.service.project; +// 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.packaging.artifacts.Artifact; import com.intellij.packaging.artifacts.ModifiableArtifactModel; diff --git a/java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ModifiableArtifactsProvider.java b/java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ModifiableArtifactsProvider.java new file mode 100644 index 000000000000..49f402eac2eb --- /dev/null +++ b/java/compiler/openapi/src/com/intellij/openapi/externalSystem/project/ModifiableArtifactsProvider.java @@ -0,0 +1,16 @@ +// 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.packaging.artifacts.ModifiableArtifactModel; +import com.intellij.packaging.elements.PackagingElementResolvingContext; +import org.jetbrains.annotations.NotNull; + +public interface ModifiableArtifactsProvider { + @NotNull + ModifiableArtifactModel getModifiableArtifactModel(); + + @NotNull + PackagingElementResolvingContext getPackagingElementResolvingContext(); + + ArtifactExternalDependenciesImporter getArtifactExternalDependenciesImporter(); +} diff --git a/java/java-impl/src/META-INF/JavaPlugin.xml b/java/java-impl/src/META-INF/JavaPlugin.xml index c8fcfeac2922..a03ef92de58d 100644 --- a/java/java-impl/src/META-INF/JavaPlugin.xml +++ b/java/java-impl/src/META-INF/JavaPlugin.xml @@ -547,6 +547,7 @@ + diff --git a/platform/external-system-api/intellij.platform.externalSystem.iml b/platform/external-system-api/intellij.platform.externalSystem.iml index 7e660b13b7d0..2df69ddb777f 100644 --- a/platform/external-system-api/intellij.platform.externalSystem.iml +++ b/platform/external-system-api/intellij.platform.externalSystem.iml @@ -13,7 +13,6 @@ - diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/IdeModifiableModelsProvider.java b/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/IdeModifiableModelsProvider.java index 813c0c7d8ac0..dcc21781d278 100644 --- a/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/IdeModifiableModelsProvider.java +++ b/platform/external-system-api/src/com/intellij/openapi/externalSystem/service/project/IdeModifiableModelsProvider.java @@ -28,8 +28,6 @@ import com.intellij.openapi.roots.ProjectModelExternalSource; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.libraries.LibraryTable; import com.intellij.openapi.util.UserDataHolder; -import com.intellij.packaging.artifacts.ModifiableArtifactModel; -import com.intellij.packaging.elements.PackagingElementResolvingContext; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -59,9 +57,6 @@ public interface IdeModifiableModelsProvider extends IdeModelsProvider, UserData Library.ModifiableModel getModifiableLibraryModel(Library library); - @NotNull - ModifiableArtifactModel getModifiableArtifactModel(); - Library createLibrary(String name); Library createLibrary(String name, @Nullable ProjectModelExternalSource externalSource); @@ -70,10 +65,6 @@ public interface IdeModifiableModelsProvider extends IdeModelsProvider, UserData ModalityState getModalityStateForQuestionDialogs(); - ArtifactExternalDependenciesImporter getArtifactExternalDependenciesImporter(); - - PackagingElementResolvingContext getPackagingElementResolvingContext(); - void commit(); void dispose(); diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/AbstractIdeModifiableModelsProvider.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/AbstractIdeModifiableModelsProvider.java index 47b18fe892c9..42ca3b78cc34 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/AbstractIdeModifiableModelsProvider.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/AbstractIdeModifiableModelsProvider.java @@ -18,6 +18,8 @@ import com.intellij.openapi.externalSystem.model.ProjectKeys; import com.intellij.openapi.externalSystem.model.project.LibraryData; import com.intellij.openapi.externalSystem.model.project.ModuleData; import com.intellij.openapi.externalSystem.model.project.ProjectCoordinate; +import com.intellij.openapi.externalSystem.project.ArtifactExternalDependenciesImporter; +import com.intellij.openapi.externalSystem.project.ModifiableArtifactsProvider; import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil; import com.intellij.openapi.module.ModifiableModuleModel; import com.intellij.openapi.module.Module; @@ -59,7 +61,8 @@ import java.util.*; import static com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.isRelated; import static com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil.toCanonicalPath; -public abstract class AbstractIdeModifiableModelsProvider extends IdeModelsProviderImpl implements IdeModifiableModelsProvider { +public abstract class AbstractIdeModifiableModelsProvider extends IdeModelsProviderImpl implements IdeModifiableModelsProvider, + ModifiableArtifactsProvider { private static final Logger LOG = Logger.getInstance(AbstractIdeModifiableModelsProvider.class); private ModifiableModuleModel myModifiableModuleModel; diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporterImpl.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporterImpl.java index c8cf293aca88..7fbfbcc56734 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporterImpl.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/ArtifactExternalDependenciesImporterImpl.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.externalSystem.service.project; +import com.intellij.openapi.externalSystem.project.ArtifactExternalDependenciesImporter; import com.intellij.openapi.roots.ui.configuration.artifacts.ManifestFilesInfo; import com.intellij.openapi.util.Pair; import com.intellij.packaging.artifacts.Artifact; diff --git a/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml b/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml index 2729a2a8d2a2..51087ce05c9b 100644 --- a/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml +++ b/platform/platform-resources/src/META-INF/ExternalSystemExtensions.xml @@ -58,7 +58,6 @@ -