[Java|Gradle|Sync] cleanup: renamed JarTaskManifestConfiguration to JavaGradleManifestModel

GitOrigin-RevId: c898c9ac1a1d7dd9e20efecb9e7908f201b6d43e
This commit is contained in:
Sergei Vorobyov
2024-09-27 18:40:12 +02:00
committed by intellij-monorepo-bot
parent b1d4df714d
commit e3da0bb5d9
11 changed files with 94 additions and 78 deletions

View File

@@ -1574,7 +1574,7 @@
<inspectionElementsMerger implementation="com.intellij.codeInspection.ExplicitArrayFillingInspectionMerger"/>
<externalProjectDataService implementation="com.intellij.externalSystem.JavaProjectDataService"/>
<externalProjectDataService implementation="com.intellij.externalSystem.JavaModuleDataService"/>
<externalWorkspaceDataService implementation="com.intellij.externalSystem.JarTaskManifestDataService"/>
<externalWorkspaceDataService implementation="com.intellij.externalSystem.JavaManifestDataService"/>
<libraryDataServiceExtension implementation="com.intellij.externalSystem.JavaLibraryDataServiceExtension"/>
<postStartupActivity implementation="com.intellij.pom.java.AcceptedLanguageLevelsSettingsStartupActivity"/>
<projectModelModifier implementation="com.intellij.openapi.roots.impl.IdeaProjectModelModifier" order="last"/>

View File

@@ -0,0 +1,21 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.externalSystem
import com.intellij.openapi.externalSystem.model.Key
import com.intellij.openapi.externalSystem.model.ProjectKeys
import com.intellij.serialization.PropertyMapping
class JavaManifestData {
val manifestAttributes: Map<String, String>
@PropertyMapping("manifestAttributes")
constructor(manifestAttributes: Map<String, String>) {
this.manifestAttributes = manifestAttributes
}
companion object {
@JvmField
val KEY = Key.create(JavaManifestData::class.java, ProjectKeys.TASK.processingWeight + 1)
}
}

View File

@@ -6,7 +6,6 @@ import com.intellij.java.workspace.entities.javaSettings
import com.intellij.java.workspace.entities.modifyJavaModuleSettingsEntity
import com.intellij.openapi.externalSystem.model.DataNode
import com.intellij.openapi.externalSystem.model.Key
import com.intellij.openapi.externalSystem.model.ProjectKeys
import com.intellij.openapi.externalSystem.model.project.ModuleData
import com.intellij.openapi.externalSystem.model.project.ProjectData
import com.intellij.openapi.externalSystem.service.project.manage.AbstractModuleDataService
@@ -16,22 +15,25 @@ import com.intellij.openapi.project.Project
import com.intellij.platform.workspace.jps.entities.ModuleId
import com.intellij.platform.workspace.jps.entities.modifyModuleEntity
import com.intellij.platform.workspace.storage.MutableEntityStorage
import com.intellij.serialization.PropertyMapping
import org.jetbrains.annotations.ApiStatus
internal class JarTaskManifestDataService : WorkspaceDataService<JarTaskManifestData> {
private val GRADLE_MAIN_SUFFIX = ".main"
override fun getTargetDataKey(): Key<JarTaskManifestData> = JarTaskManifestData.KEY
private const val GRADLE_MAIN_SUFFIX = ".main"
@ApiStatus.Internal
class JavaManifestDataService : WorkspaceDataService<JavaManifestData> {
override fun getTargetDataKey(): Key<JavaManifestData> = JavaManifestData.KEY
override fun importData(
toImport: Collection<DataNode<JarTaskManifestData>>,
toImport: Collection<DataNode<JavaManifestData>>,
projectData: ProjectData?,
project: Project,
mutableStorage: MutableEntityStorage
mutableStorage: MutableEntityStorage,
) {
for (jarTaskManifestNode in toImport) {
val moduleNode = jarTaskManifestNode.getParent(ModuleData::class.java) ?: continue
for (manifestNode in toImport) {
val moduleNode = manifestNode.getParent(ModuleData::class.java) ?: continue
val module = moduleNode.getUserData(AbstractModuleDataService.MODULE_KEY) ?: continue
val manifestAttributes = jarTaskManifestNode.data.manifestAttributes
val manifestAttributes = manifestNode.data.manifestAttributes
importManifestAttributes(module, manifestAttributes, mutableStorage)
}
@@ -57,13 +59,4 @@ internal class JarTaskManifestDataService : WorkspaceDataService<JarTaskManifest
}
}
}
}
class JarTaskManifestData
@PropertyMapping("manifestAttributes")
constructor(val manifestAttributes: Map<String, String>) {
companion object {
@JvmField
val KEY = Key.create(JarTaskManifestData::class.java, ProjectKeys.TASK.processingWeight + 1)
}
}

View File

@@ -46,7 +46,7 @@
<projectResolve implementation="org.jetbrains.plugins.gradle.service.project.JavaGradleProjectResolver"/>
<projectResolve implementation="org.jetbrains.plugins.gradle.service.project.MavenRepositoriesProjectResolver"/>
<projectResolve implementation="org.jetbrains.plugins.gradle.service.project.JarTaskManifestResolver"/>
<projectResolve implementation="org.jetbrains.plugins.gradle.service.project.JavaGradleManifestResolver"/>
<executionEnvironmentProvider implementation="org.jetbrains.plugins.gradle.execution.build.GradleApplicationEnvironmentProvider"/>
<settingsControlProvider implementation="org.jetbrains.plugins.gradle.service.settings.JavaGradleSettingsControlProvider"/>

View File

@@ -1,26 +0,0 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.service.project
import com.intellij.externalSystem.JarTaskManifestData
import com.intellij.openapi.externalSystem.model.DataNode
import com.intellij.openapi.externalSystem.model.project.ModuleData
import org.gradle.tooling.model.idea.IdeaModule
import org.jetbrains.plugins.gradle.model.jar.JarTaskManifestConfiguration
import org.jetbrains.plugins.gradle.tooling.internal.jar.JarTaskManifestConfigurationImpl
class JarTaskManifestResolver : AbstractProjectResolverExtension() {
override fun getExtraProjectModelClasses() = setOf(JarTaskManifestConfiguration::class.java)
override fun getToolingExtensionsClasses() = setOf(JarTaskManifestConfigurationImpl::class.java)
override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode<ModuleData>) {
doPopulate(gradleModule, ideModule)
super.populateModuleExtraModels(gradleModule, ideModule)
}
private fun doPopulate(gradleModule: IdeaModule, ideModule: DataNode<ModuleData>) {
val model = resolverCtx.getProjectModel(gradleModule, JarTaskManifestConfiguration::class.java) ?: return
val manifestData = JarTaskManifestData(model.manifestAttributes)
ideModule.createChild(JarTaskManifestData.KEY, manifestData)
}
}

View File

@@ -0,0 +1,29 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.service.project
import com.intellij.externalSystem.JavaManifestData
import com.intellij.gradle.toolingExtension.impl.javaModel.manifestModel.JavaGradleManifestModelBuilder
import com.intellij.openapi.externalSystem.model.DataNode
import com.intellij.openapi.externalSystem.model.project.ModuleData
import org.gradle.tooling.model.idea.IdeaModule
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.plugins.gradle.javaModel.JavaGradleManifestModel
@ApiStatus.Internal
class JavaGradleManifestResolver : AbstractProjectResolverExtension() {
override fun getExtraProjectModelClasses() = setOf(JavaGradleManifestModel::class.java)
override fun getToolingExtensionsClasses() = setOf(JavaGradleManifestModelBuilder::class.java)
override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode<ModuleData>) {
doPopulate(gradleModule, ideModule)
super.populateModuleExtraModels(gradleModule, ideModule)
}
private fun doPopulate(gradleModule: IdeaModule, ideModule: DataNode<ModuleData>) {
val model = resolverCtx.getProjectModel(gradleModule, JavaGradleManifestModel::class.java) ?: return
val manifestData = JavaManifestData(model.manifestAttributes)
ideModule.createChild(JavaManifestData.KEY, manifestData)
}
}

View File

@@ -1,12 +1,12 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.model.jar;
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.javaModel;
import org.jetbrains.annotations.NotNull;
import java.io.Serializable;
import java.util.Map;
public interface JarTaskManifestConfiguration extends Serializable {
public interface JavaGradleManifestModel extends Serializable {
@NotNull Map<String, String> getManifestAttributes();
}

View File

@@ -21,4 +21,4 @@ org.jetbrains.plugins.gradle.tooling.builder.IntelliJProjectSettingsBuilder
org.jetbrains.plugins.gradle.tooling.builder.DependencyAccessorsModelBuilder
org.jetbrains.plugins.gradle.tooling.builder.MavenRepositoriesModelBuilder
org.jetbrains.plugins.gradle.tooling.builder.VersionCatalogsModelBuilder
org.jetbrains.plugins.gradle.tooling.builder.JarTaskManifestModelBuilder
com.intellij.gradle.toolingExtension.impl.javaModel.manifestModel.JavaGradleManifestModelBuilder

View File

@@ -0,0 +1,20 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.gradle.toolingExtension.impl.javaModel.manifestModel;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.gradle.javaModel.JavaGradleManifestModel;
import java.util.Map;
public class DefaultJavaGradleManifestModel implements JavaGradleManifestModel {
private final @NotNull Map<String, String> manifestAttributes;
public DefaultJavaGradleManifestModel(@NotNull Map<String, String> manifestAttributes) {
this.manifestAttributes = manifestAttributes;
}
@Override
public @NotNull Map<String, String> getManifestAttributes() {
return manifestAttributes;
}
}

View File

@@ -1,24 +1,23 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.tooling.builder
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.gradle.toolingExtension.impl.javaModel.manifestModel
import org.gradle.api.Project
import org.gradle.jvm.tasks.Jar
import org.jetbrains.plugins.gradle.model.jar.JarTaskManifestConfiguration
import org.jetbrains.plugins.gradle.javaModel.JavaGradleManifestModel
import org.jetbrains.plugins.gradle.tooling.AbstractModelBuilderService
import org.jetbrains.plugins.gradle.tooling.ModelBuilderContext
import org.jetbrains.plugins.gradle.tooling.internal.jar.JarTaskManifestConfigurationImpl
private const val JAR_TASK = "jar"
class JarTaskManifestModelBuilder : AbstractModelBuilderService() {
class JavaGradleManifestModelBuilder : AbstractModelBuilderService() {
override fun canBuild(modelName: String): Boolean {
return JarTaskManifestConfiguration::class.java.name == modelName
return JavaGradleManifestModel::class.java.name == modelName
}
override fun buildAll(modelName: String, project: Project, context: ModelBuilderContext): Any {
val manifestAttributes = collectManifestAttributes(project)
return JarTaskManifestConfigurationImpl(manifestAttributes)
return DefaultJavaGradleManifestModel(manifestAttributes)
}
private fun collectManifestAttributes(project: Project): Map<String, String> {

View File

@@ -1,20 +0,0 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.tooling.internal.jar;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.gradle.model.jar.JarTaskManifestConfiguration;
import java.util.Map;
public class JarTaskManifestConfigurationImpl implements JarTaskManifestConfiguration {
private final @NotNull Map<String, String> manifestAttributes;
public JarTaskManifestConfigurationImpl(@NotNull Map<String, String> manifestAttributes) {
this.manifestAttributes = manifestAttributes;
}
@Override
public @NotNull Map<String, String> getManifestAttributes() {
return manifestAttributes;
}
}