ES: remove intellij.java.compiler dependency from ES api module IDEA-187832

GitOrigin-RevId: 6c6c411afaaf73bbd286a795608227055329f4ee
This commit is contained in:
Vladislav.Soroka
2019-06-11 18:17:57 +03:00
committed by intellij-monorepo-bot
parent f9e62f0dd1
commit 8dbc95f646
12 changed files with 44 additions and 31 deletions
@@ -30,6 +30,7 @@
<orderEntry type="library" name="protobuf" level="project" />
<orderEntry type="library" name="netty-codec-http" level="project" />
<orderEntry type="module" module-name="intellij.platform.vcs.impl" />
<orderEntry type="module" module-name="intellij.platform.externalSystem" />
</component>
<component name="copyright">
<Base>
@@ -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()) {
@@ -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;
@@ -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();
}
@@ -547,6 +547,7 @@
<stepsBeforeRunProvider implementation="com.intellij.packaging.impl.run.BuildArtifactsBeforeRunTaskProvider"
order="after compileBeforeRunNoErrorCheck"/>
<externalSystem.beforeRunTaskImporter implementation="com.intellij.compiler.options.CompileStepBeforeRunImporter"/>
<externalSystemConfigurationHandler implementation="com.intellij.openapi.externalSystem.service.project.settings.ArtifactsImporter"/>
<programRunner id="defaultRunRunner" implementation="com.intellij.execution.impl.DefaultJavaProgramRunner"/>
@@ -13,7 +13,6 @@
<orderEntry type="module" module-name="intellij.platform.projectModel" />
<orderEntry type="module" module-name="intellij.platform.ide" />
<orderEntry type="module" module-name="intellij.platform.lang" />
<orderEntry type="module" module-name="intellij.java.compiler" />
<orderEntry type="module" module-name="intellij.platform.externalSystem.rt" exported="" />
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="library" name="JDOM" level="project" />
@@ -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();
@@ -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;
@@ -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;
@@ -58,7 +58,6 @@
<externalSystemConfigurationHandler implementation="com.intellij.profile.codeInspection.InspectionsProfileConfigurationHandler"/>
<externalSystemConfigurationHandler
implementation="com.intellij.openapi.externalSystem.service.project.settings.DetectionExcludesConfigImporter"/>
<externalSystemConfigurationHandler implementation="com.intellij.openapi.externalSystem.service.project.settings.ArtifactsImporter"/>
<externalSystem.beforeRunTaskImporter implementation="com.intellij.openapi.externalSystem.service.project.settings.BuildArtifactsTaskImporter"/>
<configuration.ModuleStructureExtension
@@ -21,6 +21,7 @@ import com.intellij.appengine.facet.AppEngineFacetType;
import com.intellij.appengine.facet.AppEngineWebIntegration;
import com.intellij.appengine.sdk.impl.AppEngineSdkUtil;
import com.intellij.facet.FacetType;
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.io.FileUtil;
@@ -28,7 +29,6 @@ import com.intellij.packaging.artifacts.Artifact;
import com.intellij.util.io.ZipUtil;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.maven.importing.FacetImporter;
import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider;
import org.jetbrains.idea.maven.importing.MavenRootModelAdapter;
import org.jetbrains.idea.maven.model.MavenArtifact;
import org.jetbrains.idea.maven.model.MavenArtifactInfo;
@@ -108,7 +108,7 @@ public class AppEngineFacetImporter extends FacetImporter<AppEngineFacet, AppEng
facet.getConfiguration().setSdkHomePath(FileUtil.toSystemIndependentName(mavenProject.getLocalRepository().getPath()) + relativePath);
AppEngineWebIntegration.getInstance().setupDevServer(facet.getSdk());
final String artifactName = module.getName() + ":war exploded";
final Artifact webArtifact = modelsProvider.getModifiableArtifactModel().findArtifact(artifactName);
final Artifact webArtifact = getArtifactProvider(modelsProvider).getModifiableArtifactModel().findArtifact(artifactName);
AppEngineWebIntegration.getInstance().setupRunConfiguration(facet.getSdk(), webArtifact, module.getProject());
}
}
@@ -5,6 +5,7 @@ import com.intellij.facet.*;
import com.intellij.framework.FrameworkType;
import com.intellij.framework.detection.DetectionExcludesConfiguration;
import com.intellij.framework.detection.impl.FrameworkDetectionUtil;
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.project.Project;
@@ -12,6 +13,8 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.idea.maven.project.MavenProject;
import org.jetbrains.idea.maven.project.MavenProjectChanges;
import org.jetbrains.idea.maven.project.MavenProjectsProcessorTask;
@@ -183,4 +186,15 @@ public abstract class FacetImporter<FACET_TYPE extends Facet, FACET_CONFIG_TYPE
return excludesConfiguration.isExcludedFromDetection(frameworkType);
}
@NotNull
@ApiStatus.Experimental
protected static ModifiableArtifactsProvider getArtifactProvider(@NotNull IdeModifiableModelsProvider modelsProvider) {
if (modelsProvider instanceof ModifiableArtifactsProvider) {
return (ModifiableArtifactsProvider)modelsProvider;
}
else {
throw new AssertionError("Unable to get artifacts provider");
}
}
}