![JAR search and dependency download from the Maven repository](/logo.png)
org.apache.maven.model.v4.MavenModelVersion Maven / Gradle / Ivy
// =================== DO NOT EDIT THIS FILE ====================
// Generated by Modello Velocity from model-version.vm
// template, any modifications will be overwritten.
// ==============================================================
package org.apache.maven.model.v4;
import java.io.ObjectStreamException;
import java.nio.file.Path;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.BinaryOperator;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.maven.api.annotations.Generated;
import org.apache.maven.api.xml.XmlNode;
import org.apache.maven.api.model.Model;
import org.apache.maven.api.model.ModelBase;
import org.apache.maven.api.model.PluginContainer;
import org.apache.maven.api.model.PluginConfiguration;
import org.apache.maven.api.model.BuildBase;
import org.apache.maven.api.model.Build;
import org.apache.maven.api.model.CiManagement;
import org.apache.maven.api.model.Notifier;
import org.apache.maven.api.model.Contributor;
import org.apache.maven.api.model.Dependency;
import org.apache.maven.api.model.Developer;
import org.apache.maven.api.model.Exclusion;
import org.apache.maven.api.model.IssueManagement;
import org.apache.maven.api.model.DistributionManagement;
import org.apache.maven.api.model.License;
import org.apache.maven.api.model.MailingList;
import org.apache.maven.api.model.Organization;
import org.apache.maven.api.model.PatternSet;
import org.apache.maven.api.model.Parent;
import org.apache.maven.api.model.Scm;
import org.apache.maven.api.model.FileSet;
import org.apache.maven.api.model.Resource;
import org.apache.maven.api.model.RepositoryBase;
import org.apache.maven.api.model.Repository;
import org.apache.maven.api.model.DeploymentRepository;
import org.apache.maven.api.model.RepositoryPolicy;
import org.apache.maven.api.model.Site;
import org.apache.maven.api.model.ConfigurationContainer;
import org.apache.maven.api.model.Plugin;
import org.apache.maven.api.model.PluginExecution;
import org.apache.maven.api.model.DependencyManagement;
import org.apache.maven.api.model.PluginManagement;
import org.apache.maven.api.model.Reporting;
import org.apache.maven.api.model.Profile;
import org.apache.maven.api.model.Activation;
import org.apache.maven.api.model.ActivationProperty;
import org.apache.maven.api.model.ActivationOS;
import org.apache.maven.api.model.ActivationFile;
import org.apache.maven.api.model.ReportPlugin;
import org.apache.maven.api.model.ReportSet;
import org.apache.maven.api.model.Prerequisites;
import org.apache.maven.api.model.Relocation;
import org.apache.maven.api.model.Extension;
import org.apache.maven.api.model.InputLocation;
import org.apache.maven.api.model.InputSource;
@Generated
public class MavenModelVersion {
public String getModelVersion(Model model) {
Objects.requireNonNull(model, "model cannot be null");
// 4.1.0
if (is_4_1_0(model)) {
return "4.1.0";
}
return "4.0.0";
}
private boolean is_4_1_0(Plugin plugin) {
return plugin != null && (
plugin.getExecutions().stream().anyMatch(this::is_4_1_0) // Plugin : executions
);
}
private boolean is_4_1_0(Model model) {
return model != null && (
has(model.isRoot()) // Model : root
|| has(model.isPreserveModelVersion()) // Model : preserveModelVersion
|| is_4_1_0(model.getBuild()) // Model : build
|| model.getProfiles().stream().anyMatch(this::is_4_1_0) // Model : profiles
);
}
private boolean is_4_1_0(PluginConfiguration pluginConfiguration) {
return pluginConfiguration != null && (
is_4_1_0((PluginContainer) pluginConfiguration)
|| is_4_1_0(pluginConfiguration.getPluginManagement()) // PluginConfiguration : pluginManagement
);
}
private boolean is_4_1_0(Profile profile) {
return profile != null && (
is_4_1_0(profile.getBuild()) // Profile : build
);
}
private boolean is_4_1_0(PluginExecution pluginExecution) {
return pluginExecution != null && (
has(pluginExecution.getPriority()) // PluginExecution : priority
);
}
private boolean is_4_1_0(Extension extension) {
return extension != null && (
has(extension.getConfiguration()) // Extension : configuration
);
}
private boolean is_4_1_0(PluginContainer pluginContainer) {
return pluginContainer != null && (
pluginContainer.getPlugins().stream().anyMatch(this::is_4_1_0) // PluginContainer : plugins
);
}
private boolean is_4_1_0(PluginManagement pluginManagement) {
return pluginManagement != null && (
is_4_1_0((PluginContainer) pluginManagement)
);
}
private boolean is_4_1_0(Build build) {
return build != null && (
is_4_1_0((BuildBase) build)
|| build.getExtensions().stream().anyMatch(this::is_4_1_0) // Build : extensions
);
}
private boolean is_4_1_0(BuildBase buildBase) {
return buildBase != null && (
is_4_1_0((PluginConfiguration) buildBase)
);
}
private boolean has(String str) {
return str != null;
}
private boolean has(Path path) {
return path != null;
}
private boolean has(boolean bool) {
return bool;
}
private boolean has(int val) {
return val != 0;
}
private boolean has(List> list) {
return !list.isEmpty();
}
private boolean has(XmlNode node) {
return node != null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy