diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/modelAction/GradleModelFetchActionRunner.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/modelAction/GradleModelFetchActionRunner.kt index 5ade87eba313..0cea1cb36404 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/modelAction/GradleModelFetchActionRunner.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/modelAction/GradleModelFetchActionRunner.kt @@ -6,16 +6,12 @@ import com.intellij.gradle.toolingExtension.modelAction.GradleModelFetchPhase import com.intellij.gradle.toolingExtension.util.GradleVersionUtil import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.util.registry.Registry -import org.gradle.tooling.BuildActionExecuter -import org.gradle.tooling.GradleConnectionException -import org.gradle.tooling.LongRunningOperation -import org.gradle.tooling.StreamedValueListener +import org.gradle.tooling.* import org.jetbrains.annotations.ApiStatus import org.jetbrains.plugins.gradle.service.GradleFileModificationTracker import org.jetbrains.plugins.gradle.service.execution.GradleExecutionHelper import org.jetbrains.plugins.gradle.service.modelAction.GradleModelFetchActionRunner.Companion.runBuildAction import org.jetbrains.plugins.gradle.service.project.DefaultProjectResolverContext -import org.jetbrains.plugins.gradle.settings.GradleExecutionSettings import org.jetbrains.plugins.gradle.statistics.GradleSyncCollector /** @@ -32,7 +28,6 @@ import org.jetbrains.plugins.gradle.statistics.GradleSyncCollector @ApiStatus.Internal class GradleModelFetchActionRunner private constructor( private val resolverContext: DefaultProjectResolverContext, - private val settings: GradleExecutionSettings, private val modelFetchAction: GradleModelFetchAction, private val modelFetchActionListener: GradleModelFetchActionListener, ) { @@ -96,7 +91,7 @@ class GradleModelFetchActionRunner private constructor( this, resolverContext.cancellationToken, resolverContext.externalSystemTaskId, - settings, + resolverContext.settings, resolverContext.listener ) return this @@ -114,17 +109,15 @@ class GradleModelFetchActionRunner private constructor( private fun runBuildAction( resolverContext: DefaultProjectResolverContext, - settings: GradleExecutionSettings, modelFetchAction: GradleModelFetchAction, modelFetchActionListener: GradleModelFetchActionListener, ) { - GradleModelFetchActionRunner(resolverContext, settings, modelFetchAction, modelFetchActionListener).runBuildAction() + GradleModelFetchActionRunner(resolverContext, modelFetchAction, modelFetchActionListener).runBuildAction() } @JvmStatic fun runAndTraceBuildAction( resolverContext: DefaultProjectResolverContext, - settings: GradleExecutionSettings, modelFetchAction: GradleModelFetchAction, modelFetchActionListener: GradleModelFetchActionListener, ) { @@ -140,7 +133,7 @@ class GradleModelFetchActionRunner private constructor( collector.logModelFetchFailure(exception) } } - runBuildAction(resolverContext, settings, modelFetchAction, modelFetchActionListenerWithTrace) + runBuildAction(resolverContext, modelFetchAction, modelFetchActionListenerWithTrace) } } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/CommonGradleProjectResolverExtension.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/CommonGradleProjectResolverExtension.java index 7c808bb1863d..004d85ee2b55 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/CommonGradleProjectResolverExtension.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/CommonGradleProjectResolverExtension.java @@ -12,7 +12,6 @@ import com.intellij.gradle.toolingExtension.impl.model.taskModel.GradleTaskModel import com.intellij.gradle.toolingExtension.util.GradleVersionUtil; import com.intellij.openapi.application.ApplicationNamesInfo; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.externalSystem.debugger.DebuggerBackendExtension; import com.intellij.openapi.externalSystem.model.ConfigurationDataImpl; import com.intellij.openapi.externalSystem.model.DataNode; import com.intellij.openapi.externalSystem.model.ProjectKeys; @@ -33,7 +32,6 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.Consumer; import com.intellij.util.ReflectionUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.FileCollectionFactory; @@ -55,7 +53,6 @@ import org.jetbrains.plugins.gradle.model.data.GradleProjectBuildScriptData; import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData; import org.jetbrains.plugins.gradle.model.tests.ExternalTestSourceMapping; import org.jetbrains.plugins.gradle.model.tests.ExternalTestsModel; -import org.jetbrains.plugins.gradle.service.execution.GradleInitScriptUtil; import org.jetbrains.plugins.gradle.service.project.data.ExternalProjectDataCache; import org.jetbrains.plugins.gradle.service.project.data.GradleExtensionsDataService; import org.jetbrains.plugins.gradle.settings.GradleExecutionSettings; @@ -877,15 +874,13 @@ public final class CommonGradleProjectResolverExtension extends AbstractProjectR final GradleExecutionSettings gradleExecutionSettings = resolverContext.getSettings(); final String projectGradleVersion = resolverContext.getProjectGradleVersion(); - if (gradleExecutionSettings != null && projectGradleVersion != null) { - if (GradleVersionUtil.isGradleOlderThan(projectGradleVersion, "4.0")) { - final IdeaModule dependencyModule = getDependencyModuleByReflection(dependency); - if (dependencyModule != null) { - final ModuleData moduleData = - gradleExecutionSettings.getExecutionWorkspace().findModuleDataByModule(resolverContext, dependencyModule); - if (moduleData != null) { - return new ModuleDependencyData(ownerModule.getData(), moduleData); - } + if (projectGradleVersion != null && GradleVersionUtil.isGradleOlderThan(projectGradleVersion, "4.0")) { + final IdeaModule dependencyModule = getDependencyModuleByReflection(dependency); + if (dependencyModule != null) { + final ModuleData moduleData = + gradleExecutionSettings.getExecutionWorkspace().findModuleDataByModule(resolverContext, dependencyModule); + if (moduleData != null) { + return new ModuleDependencyData(ownerModule.getData(), moduleData); } } } @@ -893,11 +888,9 @@ public final class CommonGradleProjectResolverExtension extends AbstractProjectR final String moduleName = dependency.getTargetModuleName(); - if (gradleExecutionSettings != null) { - ModuleData moduleData = gradleExecutionSettings.getExecutionWorkspace().findModuleDataByGradleModuleName(moduleName); - if (moduleData != null) { - return new ModuleDependencyData(ownerModule.getData(), moduleData); - } + ModuleData moduleData = gradleExecutionSettings.getExecutionWorkspace().findModuleDataByGradleModuleName(moduleName); + if (moduleData != null) { + return new ModuleDependencyData(ownerModule.getData(), moduleData); } ModuleData registeredModuleData = registeredModulesIndex.get(moduleName); @@ -1018,7 +1011,7 @@ public final class CommonGradleProjectResolverExtension extends AbstractProjectR library.addPath(LibraryPathType.BINARY, binaryPath.getPath()); } else { - boolean isOfflineWork = resolverCtx.getSettings() != null && resolverCtx.getSettings().isOfflineWork(); + boolean isOfflineWork = resolverCtx.getSettings().isOfflineWork(); String message = String.format("Could not resolve %s.", libraryName); BuildIssue buildIssue = new UnresolvedDependencySyncIssue( libraryName, message, resolverCtx.getProjectPath(), isOfflineWork, ownerModule.getData().getId()); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/DefaultProjectResolverContext.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/DefaultProjectResolverContext.java index 15003a8107ff..a2790be071a0 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/DefaultProjectResolverContext.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/DefaultProjectResolverContext.java @@ -44,7 +44,7 @@ import java.util.function.Supplier; public class DefaultProjectResolverContext extends UserDataHolderBase implements ProjectResolverContext { @NotNull private final ExternalSystemTaskId myExternalSystemTaskId; @NotNull private final String myProjectPath; - @Nullable private final GradleExecutionSettings mySettings; + @NotNull private final GradleExecutionSettings mySettings; @NotNull private final ExternalSystemTaskNotificationListener myListener; @NotNull private final GradleProjectResolverIndicator myProjectResolverIndicator; private ProjectConnection myConnection; @@ -66,7 +66,7 @@ public class DefaultProjectResolverContext extends UserDataHolderBase implements public DefaultProjectResolverContext( @NotNull ExternalSystemTaskId externalSystemTaskId, @NotNull String projectPath, - @Nullable GradleExecutionSettings settings, + @NotNull GradleExecutionSettings settings, @NotNull ExternalSystemTaskNotificationListener listener, @Nullable GradlePartialResolverPolicy resolverPolicy, @NotNull GradleProjectResolverIndicator projectResolverIndicator, @@ -85,7 +85,7 @@ public class DefaultProjectResolverContext extends UserDataHolderBase implements public DefaultProjectResolverContext( @NotNull DefaultProjectResolverContext resolverContext, @NotNull String projectPath, - @Nullable GradleExecutionSettings settings, + @NotNull GradleExecutionSettings settings, boolean isBuildSrcProject ) { this( @@ -109,7 +109,7 @@ public class DefaultProjectResolverContext extends UserDataHolderBase implements @Nullable @Override public String getIdeProjectPath() { - return mySettings != null ? mySettings.getIdeProjectPath() : null; + return mySettings.getIdeProjectPath(); } @NotNull @@ -118,9 +118,8 @@ public class DefaultProjectResolverContext extends UserDataHolderBase implements return myProjectPath; } - @Nullable @Override - public GradleExecutionSettings getSettings() { + public @NotNull GradleExecutionSettings getSettings() { return mySettings; } @@ -239,22 +238,22 @@ public class DefaultProjectResolverContext extends UserDataHolderBase implements @Override public boolean isResolveModulePerSourceSet() { - return mySettings == null || mySettings.isResolveModulePerSourceSet(); + return mySettings.isResolveModulePerSourceSet(); } @Override public boolean isUseQualifiedModuleNames() { - return mySettings != null && mySettings.isUseQualifiedModuleNames(); + return mySettings.isUseQualifiedModuleNames(); } @Override public boolean isDelegatedBuild() { - return mySettings == null || mySettings.isDelegatedBuild(); + return mySettings.isDelegatedBuild(); } public File getGradleUserHome() { if (myGradleUserHome == null) { - String serviceDirectory = mySettings == null ? null : mySettings.getServiceDirectory(); + String serviceDirectory = mySettings.getServiceDirectory(); myGradleUserHome = serviceDirectory != null ? new File(serviceDirectory) : GradleUserHomeUtil.gradleUserHomeDir(); } return myGradleUserHome; diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleBuildSrcProjectsResolver.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleBuildSrcProjectsResolver.java index ab873b25949c..1c72253c6fbb 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleBuildSrcProjectsResolver.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleBuildSrcProjectsResolver.java @@ -73,9 +73,7 @@ public final class GradleBuildSrcProjectsResolver { for (GradleLightBuild build : myResolverContext.getAllBuilds()) { String buildPath = FileUtil.toSystemIndependentName(build.getBuildIdentifier().getRootDir().getPath()); - GradleExecutionSettings buildSrcProjectSettings = mainBuildExecutionSettings != null - ? new GradleExecutionSettings(mainBuildExecutionSettings) - : new GradleExecutionSettings(); + GradleExecutionSettings buildSrcProjectSettings = new GradleExecutionSettings(mainBuildExecutionSettings); if (myGradleHome != null) { buildSrcProjectSettings.setGradleHome(myGradleHome); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradlePreviewCustomizer.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradlePreviewCustomizer.kt index 62c2cce8ccc3..a43755cfc99c 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradlePreviewCustomizer.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradlePreviewCustomizer.kt @@ -38,7 +38,7 @@ object DefaultGradlePreviewCustomizer : GradlePreviewCustomizer { val projectPath = resolverContext.projectPath val projectName = File(projectPath).name - val ideProjectPath = resolverContext.settings?.ideProjectPath + val ideProjectPath = resolverContext.ideProjectPath val mainModuleFileDirectoryPath = ideProjectPath ?: projectPath val projectData = ProjectData(GradleConstants.SYSTEM_ID, projectName, projectPath, projectPath) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java index aa911ae1d553..ea65affad030 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolver.java @@ -136,12 +136,13 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver> toolingExtensionClasses = new HashSet<>(); @@ -320,7 +316,7 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver GradleVersion.version(it)); if (gradleVersion != null && GradleJvmSupportMatrix.isGradleDeprecatedByIdea(gradleVersion)) { @@ -356,7 +352,7 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver convertData( - @NotNull GradleExecutionSettings executionSettings, @NotNull DefaultProjectResolverContext resolverContext, @NotNull GradleProjectResolverExtension tracedResolverChain ) { @@ -420,6 +415,7 @@ public class GradleProjectResolver implements ExternalSystemProjectResolver projectDataNode ) { - if (resolverContext.getSettings() != null && !resolverContext.getSettings().getExecutionWorkspace().getBuildParticipants().isEmpty()) { + if (!resolverContext.getSettings().getExecutionWorkspace().getBuildParticipants().isEmpty()) { return Collections.emptyList(); } CompositeBuildData compositeBuildData; diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java index ebc042bd928a..ae0b56d30237 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/GradleProjectResolverUtil.java @@ -679,12 +679,10 @@ public final class GradleProjectResolverUtil { Collection projectDependencyInfos = new ArrayList<>(); List artifactsToKeepAsLibraries = new ArrayList<>(); - if (resolverCtx.getSettings() != null) { - GradleExecutionWorkspace executionWorkspace = resolverCtx.getSettings().getExecutionWorkspace(); - ModuleData moduleData = executionWorkspace.findModuleDataByArtifacts(projectDependency.getProjectDependencyArtifacts()); - if (moduleData != null) { - projectDependencyInfos.add(new ProjectDependencyInfo(moduleData, null, projectDependency.getProjectDependencyArtifacts())); - } + GradleExecutionWorkspace executionWorkspace = resolverCtx.getSettings().getExecutionWorkspace(); + ModuleData moduleData = executionWorkspace.findModuleDataByArtifacts(projectDependency.getProjectDependencyArtifacts()); + if (moduleData != null) { + projectDependencyInfos.add(new ProjectDependencyInfo(moduleData, null, projectDependency.getProjectDependencyArtifacts())); } if (projectDependencyInfos.isEmpty()) { @@ -909,7 +907,7 @@ public final class GradleProjectResolverUtil { String ownerModuleId) { final String libraryName = unresolvedDep.getId().getPresentableName(); final String failureMessage = unresolvedDep.getFailureMessage(); - boolean isOfflineWork = resolverCtx.getSettings() != null && resolverCtx.getSettings().isOfflineWork(); + boolean isOfflineWork = resolverCtx.getSettings().isOfflineWork(); BuildIssue buildIssue = new UnresolvedDependencySyncIssue( libraryName, failureMessage, resolverCtx.getProjectPath(), isOfflineWork, ownerModuleId); resolverCtx.report(MessageEvent.Kind.ERROR, buildIssue); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/LibraryDataNodeSubstitutor.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/LibraryDataNodeSubstitutor.java index 70caa701c4ca..5a0526536b2c 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/LibraryDataNodeSubstitutor.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/LibraryDataNodeSubstitutor.java @@ -214,7 +214,7 @@ public class LibraryDataNodeSubstitutor { private Collection lookupTargetModule(String path) { List results = new ArrayList<>(); - GradleSourceSetData targetModule = Optional.ofNullable(resolverContext.getSettings()) + GradleSourceSetData targetModule = Optional.of(resolverContext.getSettings()) .map(GradleExecutionSettings::getExecutionWorkspace) .map(ws -> ws.findModuleDataByArtifacts(Collections.singleton(new File(path)))) .filter(md -> md instanceof GradleSourceSetData) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/ProjectResolverContext.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/ProjectResolverContext.java index 281fba3c0e7d..7f901849839b 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/ProjectResolverContext.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/ProjectResolverContext.java @@ -34,7 +34,7 @@ public interface ProjectResolverContext extends UserDataHolderEx { @NotNull String getProjectPath(); - @Nullable + @NotNull GradleExecutionSettings getSettings(); @NotNull diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/handleIdeaKotlinUnresolvedDependency.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/handleIdeaKotlinUnresolvedDependency.kt index 7ada4d084f82..6ba0a614710a 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/handleIdeaKotlinUnresolvedDependency.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/handleIdeaKotlinUnresolvedDependency.kt @@ -16,7 +16,7 @@ internal fun reportIdeaKotlinUnresolvedDependency( dependencyName = dependency.coordinates?.toString() ?: "", failureMessage = dependency.cause, projectPath = context.resolverCtx.projectPath, - isOfflineMode = context.resolverCtx.settings?.isOfflineWork == true, + isOfflineMode = context.resolverCtx.settings.isOfflineWork == true, dependencyOwner = sourceSetModuleId.toString(), ) diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslScriptModelProcessor.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslScriptModelProcessor.kt index 5fbef0027719..28247b19d841 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslScriptModelProcessor.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/scripting/importing/KotlinDslScriptModelProcessor.kt @@ -24,7 +24,7 @@ fun saveGradleBuildEnvironment(resolverCtx: ProjectResolverContext) { val tasks = kotlinDslSyncListenerInstance?.tasks ?: return synchronized(tasks) { tasks[task] }?.let { sync -> val gradleHome = resolverCtx.getRootModel(GradleBuildScriptClasspathModel::class.java)?.gradleHomeDir?.path - ?: resolverCtx.settings?.gradleHome + ?: resolverCtx.settings.gradleHome synchronized(sync) { sync.gradleVersion = resolverCtx.projectGradleVersion