[maven] IDEA-360609 Maven 4: MODEL_VERSION_4_0_0 and MODEL_VERSION_4_1_0 constants

GitOrigin-RevId: 0b3d0ac980b1774b3f52467264d97ffebc9be0aa
This commit is contained in:
Dmitry Kichinsky
2025-02-11 17:49:25 +00:00
committed by intellij-monorepo-bot
parent 19baaa6a52
commit 9c2d272dc8
8 changed files with 19 additions and 10 deletions
@@ -11,6 +11,9 @@ public final class MavenConstants {
public static final String[] POM_NAMES = new String[]{POM_XML, "pom.scala", "pom.groovy", "pom.atom", "pom.rb", "pom.yml", "pom.clj"};
public static final String[] POM_EXTENSIONS = {"pom", "xml", "scala", "groovy", "atom", "rb", "yml", "clj"};
public static final String MODEL_VERSION_4_0_0 = "4.0.0";
public static final String MODEL_VERSION_4_1_0 = "4.1.0";
public static final String SUPER_POM_4_0_XML = "pom-4.0.0.xml";
public static final String SUPER_POM_4_1_XML = "pom-4.1.0.xml";
public static final String PROFILES_XML = "profiles.xml";
@@ -25,6 +25,8 @@ import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import static org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_1_0;
@Service(Service.Level.PROJECT)
public final class MavenDomElementDescriptorHolder {
private static final Logger LOG = Logger.getInstance(MavenDomElementDescriptorHolder.class);
@@ -137,7 +139,7 @@ public final class MavenDomElementDescriptorHolder {
private static @NotNull FileKind getProjectFileKind(PsiFile file) {
String modelVersion = MavenDomUtil.getXmlProjectModelVersion(file);
if ("4.1.0".equals(modelVersion)) return FileKind.PROJECT_FILE_4_1;
if (MODEL_VERSION_4_1_0.equals(modelVersion)) return FileKind.PROJECT_FILE_4_1;
return FileKind.PROJECT_FILE_4_0;
}
@@ -26,12 +26,12 @@ import java.util.Collections;
import java.util.List;
import static org.jetbrains.idea.maven.dom.MavenDomUtil.isAtLeastMaven4;
import static org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_0_0;
import static org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_1_0;
public class MavenModelVersionConverter extends MavenConstantListConverter {
private static final String VERSION_4_0 = "4.0.0";
private static final String VERSION_4_1 = "4.1.0";
private static final List<String> VALUES_MAVEN_3 = Collections.singletonList(VERSION_4_0);
private static final List<String> VALUES_MAVEN_4 = Arrays.asList(VERSION_4_0, VERSION_4_1);
private static final List<String> VALUES_MAVEN_3 = Collections.singletonList(MODEL_VERSION_4_0_0);
private static final List<String> VALUES_MAVEN_4 = Arrays.asList(MODEL_VERSION_4_0_0, MODEL_VERSION_4_1_0);
@Override
protected Collection<String> getValues(@NotNull ConvertContext context) {
@@ -57,6 +57,7 @@ import java.util.*;
import static icons.OpenapiIcons.RepositoryLibraryLogo;
import static org.jetbrains.idea.maven.dom.MavenDomUtil.isAtLeastMaven4;
import static org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_1_0;
public class MavenPropertyPsiReference extends MavenPsiReference implements LocalQuickFixProvider {
public static final String TIMESTAMP_PROP = "maven.build.timestamp";
@@ -526,7 +527,7 @@ public class MavenPropertyPsiReference extends MavenPsiReference implements Loca
private @NotNull String getSchemaUrl() {
if (isAtLeastMaven4(myVirtualFile, myProject)
&& myProjectDom != null
&& "4.1.0".equals(myProjectDom.getModelVersion().getValue())
&& MODEL_VERSION_4_1_0.equals(myProjectDom.getModelVersion().getValue())
) {
return MavenSchemaProvider.MAVEN_PROJECT_SCHEMA_4_1_URL;
}
@@ -15,6 +15,7 @@ import org.jetbrains.idea.maven.dom.MavenDomUtil.isAtLeastMaven4
import org.jetbrains.idea.maven.dom.converters.MavenConsumerPomUtil.isAutomaticVersionFeatureEnabled
import org.jetbrains.idea.maven.internal.ReadStatisticsCollector
import org.jetbrains.idea.maven.model.*
import org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_0_0
import org.jetbrains.idea.maven.server.MavenEmbedderWrapper
import org.jetbrains.idea.maven.server.MavenServerConnector
import org.jetbrains.idea.maven.telemetry.tracer
@@ -31,7 +32,6 @@ import java.io.IOException
import java.nio.file.Path
private const val UNKNOWN = MavenId.UNKNOWN_VALUE
private const val MODEL_VERSION_4_0_0 = "4.0.0"
class MavenProjectReader(private val myProject: Project) {
private val myCache = MavenReadProjectCache()
@@ -75,6 +75,7 @@ import org.jetbrains.idea.maven.buildtool.MavenSyncConsole
import org.jetbrains.idea.maven.dom.MavenDomUtil
import org.jetbrains.idea.maven.execution.MavenRunnerSettings
import org.jetbrains.idea.maven.model.MavenConstants
import org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_0_0
import org.jetbrains.idea.maven.model.MavenId
import org.jetbrains.idea.maven.model.MavenProjectProblem
import org.jetbrains.idea.maven.model.MavenRemoteRepository
@@ -470,7 +471,7 @@ object MavenUtil {
properties.setProperty("GROUP_ID", projectId.getGroupId())
properties.setProperty("ARTIFACT_ID", projectId.getArtifactId())
properties.setProperty("VERSION", projectId.getVersion())
properties.setProperty("MODEL_VERSION", "4.0.0")
properties.setProperty("MODEL_VERSION", MODEL_VERSION_4_0_0)
if (parentId != null) {
conditions.setProperty("HAS_PARENT", "true")
@@ -34,6 +34,7 @@ import org.jetbrains.idea.maven.execution.MavenRunner
import org.jetbrains.idea.maven.execution.MavenRunnerParameters
import org.jetbrains.idea.maven.model.MavenArchetype
import org.jetbrains.idea.maven.model.MavenConstants
import org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_1_0
import org.jetbrains.idea.maven.model.MavenId
import org.jetbrains.idea.maven.project.MavenProject
import org.jetbrains.idea.maven.project.MavenProjectBundle
@@ -155,7 +156,7 @@ open class MavenModuleBuilderHelper(
if (model.subprojects.subprojects.any()) return true
if (model.modules.modules.any()) return false
val modelVersion = model.modelVersion.value
return VersionComparatorUtil.compare(modelVersion, "4.1.0") >= 0
return VersionComparatorUtil.compare(modelVersion, MODEL_VERSION_4_1_0) >= 0
}
protected fun updateProjectPom(project: Project, pom: VirtualFile) {
@@ -1,10 +1,11 @@
// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.maven.testFramework.xml
import org.jetbrains.idea.maven.model.MavenConstants.MODEL_VERSION_4_0_0
import org.jetbrains.idea.maven.utils.MavenArtifactScope
class MavenBuildFileBuilder(val artifactId: String) {
private var modelVersion: String = "4.0.0"
private var modelVersion: String = MODEL_VERSION_4_0_0
private var groupId: String = "org.example"
private var version: String = "1.0-SNAPSHOT"
private var packaging: String? = null