Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.apache.maven.model.v4.MavenMerger Maven / Gradle / Ivy
// =================== DO NOT EDIT THIS FILE ====================
// Generated by Modello Velocity from merger.vm
// template, any modifications will be overwritten.
// ==============================================================
package org.apache.maven.model.v4;
import java.io.ObjectStreamException;
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 MavenMerger {
private final boolean deepMerge;
public MavenMerger() {
this(true);
}
public MavenMerger(boolean deepMerge) {
this.deepMerge = deepMerge;
}
/**
* Merges the specified source object into the given target object.
*
* @param target The target object whose existing contents should be merged with the source, must not be
* null
.
* @param source The (read-only) source object that should be merged into the target object, may be
* null
.
* @param sourceDominant A flag indicating whether either the target object or the source object provides the
* dominant data.
* @param hints A set of key-value pairs that customized merger implementations can use to carry domain-specific
* information along, may be null
.
*/
public Model merge(Model target, Model source, boolean sourceDominant, Map, ?> hints) {
Objects.requireNonNull(target, "target cannot be null");
if (source == null) {
return target;
}
Map context = new HashMap<>();
if (hints != null) {
context.putAll(hints);
}
return mergeModel(target, source, sourceDominant, context);
}
protected Model mergeModel(Model target, Model source, boolean sourceDominant, Map context) {
Model.Builder builder = Model.newBuilder(target);
mergeModel(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeModel(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
mergeModelBase(builder, target, source, sourceDominant, context);
mergeModel_PomFile(builder, target, source, sourceDominant, context);
mergeModel_ModelVersion(builder, target, source, sourceDominant, context);
mergeModel_Parent(builder, target, source, sourceDominant, context);
mergeModel_GroupId(builder, target, source, sourceDominant, context);
mergeModel_ArtifactId(builder, target, source, sourceDominant, context);
mergeModel_Version(builder, target, source, sourceDominant, context);
mergeModel_Packaging(builder, target, source, sourceDominant, context);
mergeModel_Name(builder, target, source, sourceDominant, context);
mergeModel_Description(builder, target, source, sourceDominant, context);
mergeModel_Url(builder, target, source, sourceDominant, context);
mergeModel_ChildProjectUrlInheritAppendPath(builder, target, source, sourceDominant, context);
mergeModel_Root(builder, target, source, sourceDominant, context);
mergeModel_PreserveModelVersion(builder, target, source, sourceDominant, context);
mergeModel_InceptionYear(builder, target, source, sourceDominant, context);
mergeModel_Organization(builder, target, source, sourceDominant, context);
mergeModel_Licenses(builder, target, source, sourceDominant, context);
mergeModel_Developers(builder, target, source, sourceDominant, context);
mergeModel_Contributors(builder, target, source, sourceDominant, context);
mergeModel_MailingLists(builder, target, source, sourceDominant, context);
mergeModel_Prerequisites(builder, target, source, sourceDominant, context);
mergeModel_Scm(builder, target, source, sourceDominant, context);
mergeModel_IssueManagement(builder, target, source, sourceDominant, context);
mergeModel_CiManagement(builder, target, source, sourceDominant, context);
mergeModel_Build(builder, target, source, sourceDominant, context);
mergeModel_Profiles(builder, target, source, sourceDominant, context);
}
protected void mergeModel_Modules(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
builder.modules(merge(target.getModules(), source.getModules(), sourceDominant, e -> e));
}
protected void mergeModel_DistributionManagement(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
DistributionManagement src = source.getDistributionManagement();
if (src != null) {
DistributionManagement tgt = target.getDistributionManagement();
if (tgt == null) {
tgt = DistributionManagement.newInstance(false);
}
DistributionManagement merged = mergeDistributionManagement(tgt, src, sourceDominant, context);
builder.distributionManagement(merged);
if (target.getDistributionManagement() == null) {
builder.location("distributionManagement", source.getLocation("distributionManagement"));
} else if (merged != tgt) {
builder.location("distributionManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_Properties(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Map src = source.getProperties();
if (!src.isEmpty()) {
Map tgt = target.getProperties();
if (tgt.isEmpty()) {
builder.properties(src);
builder.location("properties", source.getLocation("properties"));
} else {
Map merged = new HashMap<>();
merged.putAll(sourceDominant ? target.getProperties() : source.getProperties());
merged.putAll(sourceDominant ? source.getProperties() : target.getProperties());
builder.properties(merged);
builder.location("properties", InputLocation.merge(target.getLocation("properties"), source.getLocation("properties"), sourceDominant));
}
}
}
protected void mergeModel_DependencyManagement(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
DependencyManagement src = source.getDependencyManagement();
if (src != null) {
DependencyManagement tgt = target.getDependencyManagement();
if (tgt == null) {
tgt = DependencyManagement.newInstance(false);
}
DependencyManagement merged = mergeDependencyManagement(tgt, src, sourceDominant, context);
builder.dependencyManagement(merged);
if (target.getDependencyManagement() == null) {
builder.location("dependencyManagement", source.getLocation("dependencyManagement"));
} else if (merged != tgt) {
builder.location("dependencyManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_Dependencies(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.dependencies(merge(target.getDependencies(), source.getDependencies(), getDependencyKey(),
(t, s) -> mergeDependency(t, s, sourceDominant, context)));
} else {
builder.dependencies(merge(target.getDependencies(), source.getDependencies(), sourceDominant, getDependencyKey()));
}
}
protected void mergeModel_Repositories(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.repositories(merge(target.getRepositories(), source.getRepositories(), getRepositoryKey(),
(t, s) -> mergeRepository(t, s, sourceDominant, context)));
} else {
builder.repositories(merge(target.getRepositories(), source.getRepositories(), sourceDominant, getRepositoryKey()));
}
}
protected void mergeModel_PluginRepositories(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.pluginRepositories(merge(target.getPluginRepositories(), source.getPluginRepositories(), getRepositoryKey(),
(t, s) -> mergeRepository(t, s, sourceDominant, context)));
} else {
builder.pluginRepositories(merge(target.getPluginRepositories(), source.getPluginRepositories(), sourceDominant, getRepositoryKey()));
}
}
protected void mergeModel_Reporting(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Reporting src = source.getReporting();
if (src != null) {
Reporting tgt = target.getReporting();
if (tgt == null) {
tgt = Reporting.newInstance(false);
}
Reporting merged = mergeReporting(tgt, src, sourceDominant, context);
builder.reporting(merged);
if (target.getReporting() == null) {
builder.location("reporting", source.getLocation("reporting"));
} else if (merged != tgt) {
builder.location("reporting", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_PomFile(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.pomFile(source.getPomFile());
}
}
protected void mergeModel_ModelVersion(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getModelVersion();
String tgt = target.getModelVersion();
if (src != null && (sourceDominant || tgt == null)) {
builder.modelVersion(src);
builder.location("modelVersion", source.getLocation("modelVersion"));
}
}
protected void mergeModel_Parent(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Parent src = source.getParent();
if (src != null) {
Parent tgt = target.getParent();
if (tgt == null) {
tgt = Parent.newInstance(false);
}
Parent merged = mergeParent(tgt, src, sourceDominant, context);
builder.parent(merged);
if (target.getParent() == null) {
builder.location("parent", source.getLocation("parent"));
} else if (merged != tgt) {
builder.location("parent", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_GroupId(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getGroupId();
String tgt = target.getGroupId();
if (src != null && (sourceDominant || tgt == null)) {
builder.groupId(src);
builder.location("groupId", source.getLocation("groupId"));
}
}
protected void mergeModel_ArtifactId(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getArtifactId();
String tgt = target.getArtifactId();
if (src != null && (sourceDominant || tgt == null)) {
builder.artifactId(src);
builder.location("artifactId", source.getLocation("artifactId"));
}
}
protected void mergeModel_Version(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getVersion();
String tgt = target.getVersion();
if (src != null && (sourceDominant || tgt == null)) {
builder.version(src);
builder.location("version", source.getLocation("version"));
}
}
protected void mergeModel_Packaging(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getPackaging();
String tgt = target.getPackaging();
if (src != null && (sourceDominant || tgt == null)) {
builder.packaging(src);
builder.location("packaging", source.getLocation("packaging"));
}
}
protected void mergeModel_Name(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeModel_Description(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getDescription();
String tgt = target.getDescription();
if (src != null && (sourceDominant || tgt == null)) {
builder.description(src);
builder.location("description", source.getLocation("description"));
}
}
protected void mergeModel_Url(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeModel_ChildProjectUrlInheritAppendPath(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getChildProjectUrlInheritAppendPath();
String tgt = target.getChildProjectUrlInheritAppendPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.childProjectUrlInheritAppendPath(src);
builder.location("childProjectUrlInheritAppendPath", source.getLocation("childProjectUrlInheritAppendPath"));
}
}
protected void mergeModel_Root(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.root(source.isRoot());
}
}
protected void mergeModel_PreserveModelVersion(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.preserveModelVersion(source.isPreserveModelVersion());
}
}
protected void mergeModel_InceptionYear(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
String src = source.getInceptionYear();
String tgt = target.getInceptionYear();
if (src != null && (sourceDominant || tgt == null)) {
builder.inceptionYear(src);
builder.location("inceptionYear", source.getLocation("inceptionYear"));
}
}
protected void mergeModel_Organization(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Organization src = source.getOrganization();
if (src != null) {
Organization tgt = target.getOrganization();
if (tgt == null) {
tgt = Organization.newInstance(false);
}
Organization merged = mergeOrganization(tgt, src, sourceDominant, context);
builder.organization(merged);
if (target.getOrganization() == null) {
builder.location("organization", source.getLocation("organization"));
} else if (merged != tgt) {
builder.location("organization", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_Licenses(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.licenses(merge(target.getLicenses(), source.getLicenses(), getLicenseKey(),
(t, s) -> mergeLicense(t, s, sourceDominant, context)));
} else {
builder.licenses(merge(target.getLicenses(), source.getLicenses(), sourceDominant, getLicenseKey()));
}
}
protected void mergeModel_Developers(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.developers(merge(target.getDevelopers(), source.getDevelopers(), getDeveloperKey(),
(t, s) -> mergeDeveloper(t, s, sourceDominant, context)));
} else {
builder.developers(merge(target.getDevelopers(), source.getDevelopers(), sourceDominant, getDeveloperKey()));
}
}
protected void mergeModel_Contributors(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.contributors(merge(target.getContributors(), source.getContributors(), getContributorKey(),
(t, s) -> mergeContributor(t, s, sourceDominant, context)));
} else {
builder.contributors(merge(target.getContributors(), source.getContributors(), sourceDominant, getContributorKey()));
}
}
protected void mergeModel_MailingLists(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.mailingLists(merge(target.getMailingLists(), source.getMailingLists(), getMailingListKey(),
(t, s) -> mergeMailingList(t, s, sourceDominant, context)));
} else {
builder.mailingLists(merge(target.getMailingLists(), source.getMailingLists(), sourceDominant, getMailingListKey()));
}
}
protected void mergeModel_Prerequisites(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Prerequisites src = source.getPrerequisites();
if (src != null) {
Prerequisites tgt = target.getPrerequisites();
if (tgt == null) {
tgt = Prerequisites.newInstance(false);
}
Prerequisites merged = mergePrerequisites(tgt, src, sourceDominant, context);
builder.prerequisites(merged);
if (target.getPrerequisites() == null) {
builder.location("prerequisites", source.getLocation("prerequisites"));
} else if (merged != tgt) {
builder.location("prerequisites", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_Scm(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Scm src = source.getScm();
if (src != null) {
Scm tgt = target.getScm();
if (tgt == null) {
tgt = Scm.newInstance(false);
}
Scm merged = mergeScm(tgt, src, sourceDominant, context);
builder.scm(merged);
if (target.getScm() == null) {
builder.location("scm", source.getLocation("scm"));
} else if (merged != tgt) {
builder.location("scm", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_IssueManagement(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
IssueManagement src = source.getIssueManagement();
if (src != null) {
IssueManagement tgt = target.getIssueManagement();
if (tgt == null) {
tgt = IssueManagement.newInstance(false);
}
IssueManagement merged = mergeIssueManagement(tgt, src, sourceDominant, context);
builder.issueManagement(merged);
if (target.getIssueManagement() == null) {
builder.location("issueManagement", source.getLocation("issueManagement"));
} else if (merged != tgt) {
builder.location("issueManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_CiManagement(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
CiManagement src = source.getCiManagement();
if (src != null) {
CiManagement tgt = target.getCiManagement();
if (tgt == null) {
tgt = CiManagement.newInstance(false);
}
CiManagement merged = mergeCiManagement(tgt, src, sourceDominant, context);
builder.ciManagement(merged);
if (target.getCiManagement() == null) {
builder.location("ciManagement", source.getLocation("ciManagement"));
} else if (merged != tgt) {
builder.location("ciManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_Build(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
Build src = source.getBuild();
if (src != null) {
Build tgt = target.getBuild();
if (tgt == null) {
tgt = Build.newInstance(false);
}
Build merged = mergeBuild(tgt, src, sourceDominant, context);
builder.build(merged);
if (target.getBuild() == null) {
builder.location("build", source.getLocation("build"));
} else if (merged != tgt) {
builder.location("build", new InputLocation(-1, -1));
}
}
}
protected void mergeModel_Profiles(Model.Builder builder, Model target, Model source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.profiles(merge(target.getProfiles(), source.getProfiles(), getProfileKey(),
(t, s) -> mergeProfile(t, s, sourceDominant, context)));
} else {
builder.profiles(merge(target.getProfiles(), source.getProfiles(), sourceDominant, getProfileKey()));
}
}
protected ModelBase mergeModelBase(ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
ModelBase.Builder builder = ModelBase.newBuilder(target);
mergeModelBase(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeModelBase(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
mergeModelBase_Modules(builder, target, source, sourceDominant, context);
mergeModelBase_DistributionManagement(builder, target, source, sourceDominant, context);
mergeModelBase_Properties(builder, target, source, sourceDominant, context);
mergeModelBase_DependencyManagement(builder, target, source, sourceDominant, context);
mergeModelBase_Dependencies(builder, target, source, sourceDominant, context);
mergeModelBase_Repositories(builder, target, source, sourceDominant, context);
mergeModelBase_PluginRepositories(builder, target, source, sourceDominant, context);
mergeModelBase_Reporting(builder, target, source, sourceDominant, context);
}
protected void mergeModelBase_Modules(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
builder.modules(merge(target.getModules(), source.getModules(), sourceDominant, e -> e));
}
protected void mergeModelBase_DistributionManagement(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
DistributionManagement src = source.getDistributionManagement();
if (src != null) {
DistributionManagement tgt = target.getDistributionManagement();
if (tgt == null) {
tgt = DistributionManagement.newInstance(false);
}
DistributionManagement merged = mergeDistributionManagement(tgt, src, sourceDominant, context);
builder.distributionManagement(merged);
if (target.getDistributionManagement() == null) {
builder.location("distributionManagement", source.getLocation("distributionManagement"));
} else if (merged != tgt) {
builder.location("distributionManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeModelBase_Properties(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
Map src = source.getProperties();
if (!src.isEmpty()) {
Map tgt = target.getProperties();
if (tgt.isEmpty()) {
builder.properties(src);
builder.location("properties", source.getLocation("properties"));
} else {
Map merged = new HashMap<>();
merged.putAll(sourceDominant ? target.getProperties() : source.getProperties());
merged.putAll(sourceDominant ? source.getProperties() : target.getProperties());
builder.properties(merged);
builder.location("properties", InputLocation.merge(target.getLocation("properties"), source.getLocation("properties"), sourceDominant));
}
}
}
protected void mergeModelBase_DependencyManagement(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
DependencyManagement src = source.getDependencyManagement();
if (src != null) {
DependencyManagement tgt = target.getDependencyManagement();
if (tgt == null) {
tgt = DependencyManagement.newInstance(false);
}
DependencyManagement merged = mergeDependencyManagement(tgt, src, sourceDominant, context);
builder.dependencyManagement(merged);
if (target.getDependencyManagement() == null) {
builder.location("dependencyManagement", source.getLocation("dependencyManagement"));
} else if (merged != tgt) {
builder.location("dependencyManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeModelBase_Dependencies(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.dependencies(merge(target.getDependencies(), source.getDependencies(), getDependencyKey(),
(t, s) -> mergeDependency(t, s, sourceDominant, context)));
} else {
builder.dependencies(merge(target.getDependencies(), source.getDependencies(), sourceDominant, getDependencyKey()));
}
}
protected void mergeModelBase_Repositories(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.repositories(merge(target.getRepositories(), source.getRepositories(), getRepositoryKey(),
(t, s) -> mergeRepository(t, s, sourceDominant, context)));
} else {
builder.repositories(merge(target.getRepositories(), source.getRepositories(), sourceDominant, getRepositoryKey()));
}
}
protected void mergeModelBase_PluginRepositories(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.pluginRepositories(merge(target.getPluginRepositories(), source.getPluginRepositories(), getRepositoryKey(),
(t, s) -> mergeRepository(t, s, sourceDominant, context)));
} else {
builder.pluginRepositories(merge(target.getPluginRepositories(), source.getPluginRepositories(), sourceDominant, getRepositoryKey()));
}
}
protected void mergeModelBase_Reporting(ModelBase.Builder builder, ModelBase target, ModelBase source, boolean sourceDominant, Map context) {
Reporting src = source.getReporting();
if (src != null) {
Reporting tgt = target.getReporting();
if (tgt == null) {
tgt = Reporting.newInstance(false);
}
Reporting merged = mergeReporting(tgt, src, sourceDominant, context);
builder.reporting(merged);
if (target.getReporting() == null) {
builder.location("reporting", source.getLocation("reporting"));
} else if (merged != tgt) {
builder.location("reporting", new InputLocation(-1, -1));
}
}
}
protected PluginContainer mergePluginContainer(PluginContainer target, PluginContainer source, boolean sourceDominant, Map context) {
PluginContainer.Builder builder = PluginContainer.newBuilder(target);
mergePluginContainer(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergePluginContainer(PluginContainer.Builder builder, PluginContainer target, PluginContainer source, boolean sourceDominant, Map context) {
mergePluginContainer_Plugins(builder, target, source, sourceDominant, context);
}
protected void mergePluginContainer_Plugins(PluginContainer.Builder builder, PluginContainer target, PluginContainer source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), getPluginKey(),
(t, s) -> mergePlugin(t, s, sourceDominant, context)));
} else {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), sourceDominant, getPluginKey()));
}
}
protected PluginConfiguration mergePluginConfiguration(PluginConfiguration target, PluginConfiguration source, boolean sourceDominant, Map context) {
PluginConfiguration.Builder builder = PluginConfiguration.newBuilder(target);
mergePluginConfiguration(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergePluginConfiguration(PluginConfiguration.Builder builder, PluginConfiguration target, PluginConfiguration source, boolean sourceDominant, Map context) {
mergePluginContainer(builder, target, source, sourceDominant, context);
mergePluginConfiguration_PluginManagement(builder, target, source, sourceDominant, context);
}
protected void mergePluginConfiguration_Plugins(PluginConfiguration.Builder builder, PluginConfiguration target, PluginConfiguration source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), getPluginKey(),
(t, s) -> mergePlugin(t, s, sourceDominant, context)));
} else {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), sourceDominant, getPluginKey()));
}
}
protected void mergePluginConfiguration_PluginManagement(PluginConfiguration.Builder builder, PluginConfiguration target, PluginConfiguration source, boolean sourceDominant, Map context) {
PluginManagement src = source.getPluginManagement();
if (src != null) {
PluginManagement tgt = target.getPluginManagement();
if (tgt == null) {
tgt = PluginManagement.newInstance(false);
}
PluginManagement merged = mergePluginManagement(tgt, src, sourceDominant, context);
builder.pluginManagement(merged);
if (target.getPluginManagement() == null) {
builder.location("pluginManagement", source.getLocation("pluginManagement"));
} else if (merged != tgt) {
builder.location("pluginManagement", new InputLocation(-1, -1));
}
}
}
protected BuildBase mergeBuildBase(BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
BuildBase.Builder builder = BuildBase.newBuilder(target);
mergeBuildBase(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeBuildBase(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
mergePluginConfiguration(builder, target, source, sourceDominant, context);
mergeBuildBase_DefaultGoal(builder, target, source, sourceDominant, context);
mergeBuildBase_Resources(builder, target, source, sourceDominant, context);
mergeBuildBase_TestResources(builder, target, source, sourceDominant, context);
mergeBuildBase_Directory(builder, target, source, sourceDominant, context);
mergeBuildBase_FinalName(builder, target, source, sourceDominant, context);
mergeBuildBase_Filters(builder, target, source, sourceDominant, context);
}
protected void mergeBuildBase_Plugins(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), getPluginKey(),
(t, s) -> mergePlugin(t, s, sourceDominant, context)));
} else {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), sourceDominant, getPluginKey()));
}
}
protected void mergeBuildBase_PluginManagement(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
PluginManagement src = source.getPluginManagement();
if (src != null) {
PluginManagement tgt = target.getPluginManagement();
if (tgt == null) {
tgt = PluginManagement.newInstance(false);
}
PluginManagement merged = mergePluginManagement(tgt, src, sourceDominant, context);
builder.pluginManagement(merged);
if (target.getPluginManagement() == null) {
builder.location("pluginManagement", source.getLocation("pluginManagement"));
} else if (merged != tgt) {
builder.location("pluginManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeBuildBase_DefaultGoal(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
String src = source.getDefaultGoal();
String tgt = target.getDefaultGoal();
if (src != null && (sourceDominant || tgt == null)) {
builder.defaultGoal(src);
builder.location("defaultGoal", source.getLocation("defaultGoal"));
}
}
protected void mergeBuildBase_Resources(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.resources(merge(target.getResources(), source.getResources(), getResourceKey(),
(t, s) -> mergeResource(t, s, sourceDominant, context)));
} else {
builder.resources(merge(target.getResources(), source.getResources(), sourceDominant, getResourceKey()));
}
}
protected void mergeBuildBase_TestResources(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.testResources(merge(target.getTestResources(), source.getTestResources(), getResourceKey(),
(t, s) -> mergeResource(t, s, sourceDominant, context)));
} else {
builder.testResources(merge(target.getTestResources(), source.getTestResources(), sourceDominant, getResourceKey()));
}
}
protected void mergeBuildBase_Directory(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
String src = source.getDirectory();
String tgt = target.getDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.directory(src);
builder.location("directory", source.getLocation("directory"));
}
}
protected void mergeBuildBase_FinalName(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
String src = source.getFinalName();
String tgt = target.getFinalName();
if (src != null && (sourceDominant || tgt == null)) {
builder.finalName(src);
builder.location("finalName", source.getLocation("finalName"));
}
}
protected void mergeBuildBase_Filters(BuildBase.Builder builder, BuildBase target, BuildBase source, boolean sourceDominant, Map context) {
builder.filters(merge(target.getFilters(), source.getFilters(), sourceDominant, e -> e));
}
protected Build mergeBuild(Build target, Build source, boolean sourceDominant, Map context) {
Build.Builder builder = Build.newBuilder(target);
mergeBuild(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeBuild(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
mergeBuildBase(builder, target, source, sourceDominant, context);
mergeBuild_SourceDirectory(builder, target, source, sourceDominant, context);
mergeBuild_ScriptSourceDirectory(builder, target, source, sourceDominant, context);
mergeBuild_TestSourceDirectory(builder, target, source, sourceDominant, context);
mergeBuild_OutputDirectory(builder, target, source, sourceDominant, context);
mergeBuild_TestOutputDirectory(builder, target, source, sourceDominant, context);
mergeBuild_Extensions(builder, target, source, sourceDominant, context);
}
protected void mergeBuild_Plugins(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), getPluginKey(),
(t, s) -> mergePlugin(t, s, sourceDominant, context)));
} else {
builder.plugins(merge(target.getPlugins(), source.getPlugins(), sourceDominant, getPluginKey()));
}
}
protected void mergeBuild_PluginManagement(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
PluginManagement src = source.getPluginManagement();
if (src != null) {
PluginManagement tgt = target.getPluginManagement();
if (tgt == null) {
tgt = PluginManagement.newInstance(false);
}
PluginManagement merged = mergePluginManagement(tgt, src, sourceDominant, context);
builder.pluginManagement(merged);
if (target.getPluginManagement() == null) {
builder.location("pluginManagement", source.getLocation("pluginManagement"));
} else if (merged != tgt) {
builder.location("pluginManagement", new InputLocation(-1, -1));
}
}
}
protected void mergeBuild_DefaultGoal(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getDefaultGoal();
String tgt = target.getDefaultGoal();
if (src != null && (sourceDominant || tgt == null)) {
builder.defaultGoal(src);
builder.location("defaultGoal", source.getLocation("defaultGoal"));
}
}
protected void mergeBuild_Resources(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.resources(merge(target.getResources(), source.getResources(), getResourceKey(),
(t, s) -> mergeResource(t, s, sourceDominant, context)));
} else {
builder.resources(merge(target.getResources(), source.getResources(), sourceDominant, getResourceKey()));
}
}
protected void mergeBuild_TestResources(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.testResources(merge(target.getTestResources(), source.getTestResources(), getResourceKey(),
(t, s) -> mergeResource(t, s, sourceDominant, context)));
} else {
builder.testResources(merge(target.getTestResources(), source.getTestResources(), sourceDominant, getResourceKey()));
}
}
protected void mergeBuild_Directory(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getDirectory();
String tgt = target.getDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.directory(src);
builder.location("directory", source.getLocation("directory"));
}
}
protected void mergeBuild_FinalName(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getFinalName();
String tgt = target.getFinalName();
if (src != null && (sourceDominant || tgt == null)) {
builder.finalName(src);
builder.location("finalName", source.getLocation("finalName"));
}
}
protected void mergeBuild_Filters(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
builder.filters(merge(target.getFilters(), source.getFilters(), sourceDominant, e -> e));
}
protected void mergeBuild_SourceDirectory(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getSourceDirectory();
String tgt = target.getSourceDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.sourceDirectory(src);
builder.location("sourceDirectory", source.getLocation("sourceDirectory"));
}
}
protected void mergeBuild_ScriptSourceDirectory(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getScriptSourceDirectory();
String tgt = target.getScriptSourceDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.scriptSourceDirectory(src);
builder.location("scriptSourceDirectory", source.getLocation("scriptSourceDirectory"));
}
}
protected void mergeBuild_TestSourceDirectory(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getTestSourceDirectory();
String tgt = target.getTestSourceDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.testSourceDirectory(src);
builder.location("testSourceDirectory", source.getLocation("testSourceDirectory"));
}
}
protected void mergeBuild_OutputDirectory(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getOutputDirectory();
String tgt = target.getOutputDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.outputDirectory(src);
builder.location("outputDirectory", source.getLocation("outputDirectory"));
}
}
protected void mergeBuild_TestOutputDirectory(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
String src = source.getTestOutputDirectory();
String tgt = target.getTestOutputDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.testOutputDirectory(src);
builder.location("testOutputDirectory", source.getLocation("testOutputDirectory"));
}
}
protected void mergeBuild_Extensions(Build.Builder builder, Build target, Build source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.extensions(merge(target.getExtensions(), source.getExtensions(), getExtensionKey(),
(t, s) -> mergeExtension(t, s, sourceDominant, context)));
} else {
builder.extensions(merge(target.getExtensions(), source.getExtensions(), sourceDominant, getExtensionKey()));
}
}
protected CiManagement mergeCiManagement(CiManagement target, CiManagement source, boolean sourceDominant, Map context) {
CiManagement.Builder builder = CiManagement.newBuilder(target);
mergeCiManagement(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeCiManagement(CiManagement.Builder builder, CiManagement target, CiManagement source, boolean sourceDominant, Map context) {
mergeCiManagement_System(builder, target, source, sourceDominant, context);
mergeCiManagement_Url(builder, target, source, sourceDominant, context);
mergeCiManagement_Notifiers(builder, target, source, sourceDominant, context);
}
protected void mergeCiManagement_System(CiManagement.Builder builder, CiManagement target, CiManagement source, boolean sourceDominant, Map context) {
String src = source.getSystem();
String tgt = target.getSystem();
if (src != null && (sourceDominant || tgt == null)) {
builder.system(src);
builder.location("system", source.getLocation("system"));
}
}
protected void mergeCiManagement_Url(CiManagement.Builder builder, CiManagement target, CiManagement source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeCiManagement_Notifiers(CiManagement.Builder builder, CiManagement target, CiManagement source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.notifiers(merge(target.getNotifiers(), source.getNotifiers(), getNotifierKey(),
(t, s) -> mergeNotifier(t, s, sourceDominant, context)));
} else {
builder.notifiers(merge(target.getNotifiers(), source.getNotifiers(), sourceDominant, getNotifierKey()));
}
}
protected Notifier mergeNotifier(Notifier target, Notifier source, boolean sourceDominant, Map context) {
Notifier.Builder builder = Notifier.newBuilder(target);
mergeNotifier(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeNotifier(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
mergeNotifier_Type(builder, target, source, sourceDominant, context);
mergeNotifier_SendOnError(builder, target, source, sourceDominant, context);
mergeNotifier_SendOnFailure(builder, target, source, sourceDominant, context);
mergeNotifier_SendOnSuccess(builder, target, source, sourceDominant, context);
mergeNotifier_SendOnWarning(builder, target, source, sourceDominant, context);
mergeNotifier_Address(builder, target, source, sourceDominant, context);
mergeNotifier_Configuration(builder, target, source, sourceDominant, context);
}
protected void mergeNotifier_Type(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
String src = source.getType();
String tgt = target.getType();
if (src != null && (sourceDominant || tgt == null)) {
builder.type(src);
builder.location("type", source.getLocation("type"));
}
}
protected void mergeNotifier_SendOnError(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.sendOnError(source.isSendOnError());
}
}
protected void mergeNotifier_SendOnFailure(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.sendOnFailure(source.isSendOnFailure());
}
}
protected void mergeNotifier_SendOnSuccess(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.sendOnSuccess(source.isSendOnSuccess());
}
}
protected void mergeNotifier_SendOnWarning(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.sendOnWarning(source.isSendOnWarning());
}
}
protected void mergeNotifier_Address(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
String src = source.getAddress();
String tgt = target.getAddress();
if (src != null && (sourceDominant || tgt == null)) {
builder.address(src);
builder.location("address", source.getLocation("address"));
}
}
protected void mergeNotifier_Configuration(Notifier.Builder builder, Notifier target, Notifier source, boolean sourceDominant, Map context) {
Map src = source.getConfiguration();
if (!src.isEmpty()) {
Map tgt = target.getConfiguration();
if (tgt.isEmpty()) {
builder.configuration(src);
builder.location("configuration", source.getLocation("configuration"));
} else {
Map merged = new HashMap<>();
merged.putAll(sourceDominant ? target.getConfiguration() : source.getConfiguration());
merged.putAll(sourceDominant ? source.getConfiguration() : target.getConfiguration());
builder.configuration(merged);
builder.location("configuration", InputLocation.merge(target.getLocation("configuration"), source.getLocation("configuration"), sourceDominant));
}
}
}
protected Contributor mergeContributor(Contributor target, Contributor source, boolean sourceDominant, Map context) {
Contributor.Builder builder = Contributor.newBuilder(target);
mergeContributor(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeContributor(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
mergeContributor_Name(builder, target, source, sourceDominant, context);
mergeContributor_Email(builder, target, source, sourceDominant, context);
mergeContributor_Url(builder, target, source, sourceDominant, context);
mergeContributor_Organization(builder, target, source, sourceDominant, context);
mergeContributor_OrganizationUrl(builder, target, source, sourceDominant, context);
mergeContributor_Roles(builder, target, source, sourceDominant, context);
mergeContributor_Timezone(builder, target, source, sourceDominant, context);
mergeContributor_Properties(builder, target, source, sourceDominant, context);
}
protected void mergeContributor_Name(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeContributor_Email(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
String src = source.getEmail();
String tgt = target.getEmail();
if (src != null && (sourceDominant || tgt == null)) {
builder.email(src);
builder.location("email", source.getLocation("email"));
}
}
protected void mergeContributor_Url(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeContributor_Organization(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
String src = source.getOrganization();
String tgt = target.getOrganization();
if (src != null && (sourceDominant || tgt == null)) {
builder.organization(src);
builder.location("organization", source.getLocation("organization"));
}
}
protected void mergeContributor_OrganizationUrl(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
String src = source.getOrganizationUrl();
String tgt = target.getOrganizationUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.organizationUrl(src);
builder.location("organizationUrl", source.getLocation("organizationUrl"));
}
}
protected void mergeContributor_Roles(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
builder.roles(merge(target.getRoles(), source.getRoles(), sourceDominant, e -> e));
}
protected void mergeContributor_Timezone(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
String src = source.getTimezone();
String tgt = target.getTimezone();
if (src != null && (sourceDominant || tgt == null)) {
builder.timezone(src);
builder.location("timezone", source.getLocation("timezone"));
}
}
protected void mergeContributor_Properties(Contributor.Builder builder, Contributor target, Contributor source, boolean sourceDominant, Map context) {
Map src = source.getProperties();
if (!src.isEmpty()) {
Map tgt = target.getProperties();
if (tgt.isEmpty()) {
builder.properties(src);
builder.location("properties", source.getLocation("properties"));
} else {
Map merged = new HashMap<>();
merged.putAll(sourceDominant ? target.getProperties() : source.getProperties());
merged.putAll(sourceDominant ? source.getProperties() : target.getProperties());
builder.properties(merged);
builder.location("properties", InputLocation.merge(target.getLocation("properties"), source.getLocation("properties"), sourceDominant));
}
}
}
protected Dependency mergeDependency(Dependency target, Dependency source, boolean sourceDominant, Map context) {
Dependency.Builder builder = Dependency.newBuilder(target);
mergeDependency(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeDependency(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
mergeDependency_GroupId(builder, target, source, sourceDominant, context);
mergeDependency_ArtifactId(builder, target, source, sourceDominant, context);
mergeDependency_Version(builder, target, source, sourceDominant, context);
mergeDependency_Type(builder, target, source, sourceDominant, context);
mergeDependency_Classifier(builder, target, source, sourceDominant, context);
mergeDependency_Scope(builder, target, source, sourceDominant, context);
mergeDependency_SystemPath(builder, target, source, sourceDominant, context);
mergeDependency_Exclusions(builder, target, source, sourceDominant, context);
mergeDependency_Optional(builder, target, source, sourceDominant, context);
}
protected void mergeDependency_GroupId(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getGroupId();
String tgt = target.getGroupId();
if (src != null && (sourceDominant || tgt == null)) {
builder.groupId(src);
builder.location("groupId", source.getLocation("groupId"));
}
}
protected void mergeDependency_ArtifactId(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getArtifactId();
String tgt = target.getArtifactId();
if (src != null && (sourceDominant || tgt == null)) {
builder.artifactId(src);
builder.location("artifactId", source.getLocation("artifactId"));
}
}
protected void mergeDependency_Version(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getVersion();
String tgt = target.getVersion();
if (src != null && (sourceDominant || tgt == null)) {
builder.version(src);
builder.location("version", source.getLocation("version"));
}
}
protected void mergeDependency_Type(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getType();
String tgt = target.getType();
if (src != null && (sourceDominant || tgt == null)) {
builder.type(src);
builder.location("type", source.getLocation("type"));
}
}
protected void mergeDependency_Classifier(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getClassifier();
String tgt = target.getClassifier();
if (src != null && (sourceDominant || tgt == null)) {
builder.classifier(src);
builder.location("classifier", source.getLocation("classifier"));
}
}
protected void mergeDependency_Scope(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getScope();
String tgt = target.getScope();
if (src != null && (sourceDominant || tgt == null)) {
builder.scope(src);
builder.location("scope", source.getLocation("scope"));
}
}
protected void mergeDependency_SystemPath(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getSystemPath();
String tgt = target.getSystemPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.systemPath(src);
builder.location("systemPath", source.getLocation("systemPath"));
}
}
protected void mergeDependency_Exclusions(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
if (deepMerge) {
builder.exclusions(merge(target.getExclusions(), source.getExclusions(), getExclusionKey(),
(t, s) -> mergeExclusion(t, s, sourceDominant, context)));
} else {
builder.exclusions(merge(target.getExclusions(), source.getExclusions(), sourceDominant, getExclusionKey()));
}
}
protected void mergeDependency_Optional(Dependency.Builder builder, Dependency target, Dependency source, boolean sourceDominant, Map context) {
String src = source.getOptional();
String tgt = target.getOptional();
if (src != null && (sourceDominant || tgt == null)) {
builder.optional(src);
builder.location("optional", source.getLocation("optional"));
}
}
protected Developer mergeDeveloper(Developer target, Developer source, boolean sourceDominant, Map context) {
Developer.Builder builder = Developer.newBuilder(target);
mergeDeveloper(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeDeveloper(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
mergeContributor(builder, target, source, sourceDominant, context);
mergeDeveloper_Id(builder, target, source, sourceDominant, context);
}
protected void mergeDeveloper_Name(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeDeveloper_Email(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getEmail();
String tgt = target.getEmail();
if (src != null && (sourceDominant || tgt == null)) {
builder.email(src);
builder.location("email", source.getLocation("email"));
}
}
protected void mergeDeveloper_Url(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeDeveloper_Organization(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getOrganization();
String tgt = target.getOrganization();
if (src != null && (sourceDominant || tgt == null)) {
builder.organization(src);
builder.location("organization", source.getLocation("organization"));
}
}
protected void mergeDeveloper_OrganizationUrl(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getOrganizationUrl();
String tgt = target.getOrganizationUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.organizationUrl(src);
builder.location("organizationUrl", source.getLocation("organizationUrl"));
}
}
protected void mergeDeveloper_Roles(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
builder.roles(merge(target.getRoles(), source.getRoles(), sourceDominant, e -> e));
}
protected void mergeDeveloper_Timezone(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getTimezone();
String tgt = target.getTimezone();
if (src != null && (sourceDominant || tgt == null)) {
builder.timezone(src);
builder.location("timezone", source.getLocation("timezone"));
}
}
protected void mergeDeveloper_Properties(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
Map src = source.getProperties();
if (!src.isEmpty()) {
Map tgt = target.getProperties();
if (tgt.isEmpty()) {
builder.properties(src);
builder.location("properties", source.getLocation("properties"));
} else {
Map merged = new HashMap<>();
merged.putAll(sourceDominant ? target.getProperties() : source.getProperties());
merged.putAll(sourceDominant ? source.getProperties() : target.getProperties());
builder.properties(merged);
builder.location("properties", InputLocation.merge(target.getLocation("properties"), source.getLocation("properties"), sourceDominant));
}
}
}
protected void mergeDeveloper_Id(Developer.Builder builder, Developer target, Developer source, boolean sourceDominant, Map context) {
String src = source.getId();
String tgt = target.getId();
if (src != null && (sourceDominant || tgt == null)) {
builder.id(src);
builder.location("id", source.getLocation("id"));
}
}
protected Exclusion mergeExclusion(Exclusion target, Exclusion source, boolean sourceDominant, Map context) {
Exclusion.Builder builder = Exclusion.newBuilder(target);
mergeExclusion(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeExclusion(Exclusion.Builder builder, Exclusion target, Exclusion source, boolean sourceDominant, Map context) {
mergeExclusion_GroupId(builder, target, source, sourceDominant, context);
mergeExclusion_ArtifactId(builder, target, source, sourceDominant, context);
}
protected void mergeExclusion_GroupId(Exclusion.Builder builder, Exclusion target, Exclusion source, boolean sourceDominant, Map context) {
String src = source.getGroupId();
String tgt = target.getGroupId();
if (src != null && (sourceDominant || tgt == null)) {
builder.groupId(src);
builder.location("groupId", source.getLocation("groupId"));
}
}
protected void mergeExclusion_ArtifactId(Exclusion.Builder builder, Exclusion target, Exclusion source, boolean sourceDominant, Map context) {
String src = source.getArtifactId();
String tgt = target.getArtifactId();
if (src != null && (sourceDominant || tgt == null)) {
builder.artifactId(src);
builder.location("artifactId", source.getLocation("artifactId"));
}
}
protected IssueManagement mergeIssueManagement(IssueManagement target, IssueManagement source, boolean sourceDominant, Map context) {
IssueManagement.Builder builder = IssueManagement.newBuilder(target);
mergeIssueManagement(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeIssueManagement(IssueManagement.Builder builder, IssueManagement target, IssueManagement source, boolean sourceDominant, Map context) {
mergeIssueManagement_System(builder, target, source, sourceDominant, context);
mergeIssueManagement_Url(builder, target, source, sourceDominant, context);
}
protected void mergeIssueManagement_System(IssueManagement.Builder builder, IssueManagement target, IssueManagement source, boolean sourceDominant, Map context) {
String src = source.getSystem();
String tgt = target.getSystem();
if (src != null && (sourceDominant || tgt == null)) {
builder.system(src);
builder.location("system", source.getLocation("system"));
}
}
protected void mergeIssueManagement_Url(IssueManagement.Builder builder, IssueManagement target, IssueManagement source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected DistributionManagement mergeDistributionManagement(DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
DistributionManagement.Builder builder = DistributionManagement.newBuilder(target);
mergeDistributionManagement(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeDistributionManagement(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
mergeDistributionManagement_Repository(builder, target, source, sourceDominant, context);
mergeDistributionManagement_SnapshotRepository(builder, target, source, sourceDominant, context);
mergeDistributionManagement_Site(builder, target, source, sourceDominant, context);
mergeDistributionManagement_DownloadUrl(builder, target, source, sourceDominant, context);
mergeDistributionManagement_Relocation(builder, target, source, sourceDominant, context);
mergeDistributionManagement_Status(builder, target, source, sourceDominant, context);
}
protected void mergeDistributionManagement_Repository(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
DeploymentRepository src = source.getRepository();
if (src != null) {
DeploymentRepository tgt = target.getRepository();
if (tgt == null) {
tgt = DeploymentRepository.newInstance(false);
}
DeploymentRepository merged = mergeDeploymentRepository(tgt, src, sourceDominant, context);
builder.repository(merged);
if (target.getRepository() == null) {
builder.location("repository", source.getLocation("repository"));
} else if (merged != tgt) {
builder.location("repository", new InputLocation(-1, -1));
}
}
}
protected void mergeDistributionManagement_SnapshotRepository(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
DeploymentRepository src = source.getSnapshotRepository();
if (src != null) {
DeploymentRepository tgt = target.getSnapshotRepository();
if (tgt == null) {
tgt = DeploymentRepository.newInstance(false);
}
DeploymentRepository merged = mergeDeploymentRepository(tgt, src, sourceDominant, context);
builder.snapshotRepository(merged);
if (target.getSnapshotRepository() == null) {
builder.location("snapshotRepository", source.getLocation("snapshotRepository"));
} else if (merged != tgt) {
builder.location("snapshotRepository", new InputLocation(-1, -1));
}
}
}
protected void mergeDistributionManagement_Site(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
Site src = source.getSite();
if (src != null) {
Site tgt = target.getSite();
if (tgt == null) {
tgt = Site.newInstance(false);
}
Site merged = mergeSite(tgt, src, sourceDominant, context);
builder.site(merged);
if (target.getSite() == null) {
builder.location("site", source.getLocation("site"));
} else if (merged != tgt) {
builder.location("site", new InputLocation(-1, -1));
}
}
}
protected void mergeDistributionManagement_DownloadUrl(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
String src = source.getDownloadUrl();
String tgt = target.getDownloadUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.downloadUrl(src);
builder.location("downloadUrl", source.getLocation("downloadUrl"));
}
}
protected void mergeDistributionManagement_Relocation(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
Relocation src = source.getRelocation();
if (src != null) {
Relocation tgt = target.getRelocation();
if (tgt == null) {
tgt = Relocation.newInstance(false);
}
Relocation merged = mergeRelocation(tgt, src, sourceDominant, context);
builder.relocation(merged);
if (target.getRelocation() == null) {
builder.location("relocation", source.getLocation("relocation"));
} else if (merged != tgt) {
builder.location("relocation", new InputLocation(-1, -1));
}
}
}
protected void mergeDistributionManagement_Status(DistributionManagement.Builder builder, DistributionManagement target, DistributionManagement source, boolean sourceDominant, Map context) {
String src = source.getStatus();
String tgt = target.getStatus();
if (src != null && (sourceDominant || tgt == null)) {
builder.status(src);
builder.location("status", source.getLocation("status"));
}
}
protected License mergeLicense(License target, License source, boolean sourceDominant, Map context) {
License.Builder builder = License.newBuilder(target);
mergeLicense(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeLicense(License.Builder builder, License target, License source, boolean sourceDominant, Map context) {
mergeLicense_Name(builder, target, source, sourceDominant, context);
mergeLicense_Url(builder, target, source, sourceDominant, context);
mergeLicense_Distribution(builder, target, source, sourceDominant, context);
mergeLicense_Comments(builder, target, source, sourceDominant, context);
}
protected void mergeLicense_Name(License.Builder builder, License target, License source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeLicense_Url(License.Builder builder, License target, License source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeLicense_Distribution(License.Builder builder, License target, License source, boolean sourceDominant, Map context) {
String src = source.getDistribution();
String tgt = target.getDistribution();
if (src != null && (sourceDominant || tgt == null)) {
builder.distribution(src);
builder.location("distribution", source.getLocation("distribution"));
}
}
protected void mergeLicense_Comments(License.Builder builder, License target, License source, boolean sourceDominant, Map context) {
String src = source.getComments();
String tgt = target.getComments();
if (src != null && (sourceDominant || tgt == null)) {
builder.comments(src);
builder.location("comments", source.getLocation("comments"));
}
}
protected MailingList mergeMailingList(MailingList target, MailingList source, boolean sourceDominant, Map context) {
MailingList.Builder builder = MailingList.newBuilder(target);
mergeMailingList(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeMailingList(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
mergeMailingList_Name(builder, target, source, sourceDominant, context);
mergeMailingList_Subscribe(builder, target, source, sourceDominant, context);
mergeMailingList_Unsubscribe(builder, target, source, sourceDominant, context);
mergeMailingList_Post(builder, target, source, sourceDominant, context);
mergeMailingList_Archive(builder, target, source, sourceDominant, context);
mergeMailingList_OtherArchives(builder, target, source, sourceDominant, context);
}
protected void mergeMailingList_Name(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeMailingList_Subscribe(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
String src = source.getSubscribe();
String tgt = target.getSubscribe();
if (src != null && (sourceDominant || tgt == null)) {
builder.subscribe(src);
builder.location("subscribe", source.getLocation("subscribe"));
}
}
protected void mergeMailingList_Unsubscribe(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
String src = source.getUnsubscribe();
String tgt = target.getUnsubscribe();
if (src != null && (sourceDominant || tgt == null)) {
builder.unsubscribe(src);
builder.location("unsubscribe", source.getLocation("unsubscribe"));
}
}
protected void mergeMailingList_Post(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
String src = source.getPost();
String tgt = target.getPost();
if (src != null && (sourceDominant || tgt == null)) {
builder.post(src);
builder.location("post", source.getLocation("post"));
}
}
protected void mergeMailingList_Archive(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
String src = source.getArchive();
String tgt = target.getArchive();
if (src != null && (sourceDominant || tgt == null)) {
builder.archive(src);
builder.location("archive", source.getLocation("archive"));
}
}
protected void mergeMailingList_OtherArchives(MailingList.Builder builder, MailingList target, MailingList source, boolean sourceDominant, Map context) {
builder.otherArchives(merge(target.getOtherArchives(), source.getOtherArchives(), sourceDominant, e -> e));
}
protected Organization mergeOrganization(Organization target, Organization source, boolean sourceDominant, Map context) {
Organization.Builder builder = Organization.newBuilder(target);
mergeOrganization(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeOrganization(Organization.Builder builder, Organization target, Organization source, boolean sourceDominant, Map context) {
mergeOrganization_Name(builder, target, source, sourceDominant, context);
mergeOrganization_Url(builder, target, source, sourceDominant, context);
}
protected void mergeOrganization_Name(Organization.Builder builder, Organization target, Organization source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeOrganization_Url(Organization.Builder builder, Organization target, Organization source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected PatternSet mergePatternSet(PatternSet target, PatternSet source, boolean sourceDominant, Map context) {
PatternSet.Builder builder = PatternSet.newBuilder(target);
mergePatternSet(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergePatternSet(PatternSet.Builder builder, PatternSet target, PatternSet source, boolean sourceDominant, Map context) {
mergePatternSet_Includes(builder, target, source, sourceDominant, context);
mergePatternSet_Excludes(builder, target, source, sourceDominant, context);
}
protected void mergePatternSet_Includes(PatternSet.Builder builder, PatternSet target, PatternSet source, boolean sourceDominant, Map context) {
builder.includes(merge(target.getIncludes(), source.getIncludes(), sourceDominant, e -> e));
}
protected void mergePatternSet_Excludes(PatternSet.Builder builder, PatternSet target, PatternSet source, boolean sourceDominant, Map context) {
builder.excludes(merge(target.getExcludes(), source.getExcludes(), sourceDominant, e -> e));
}
protected Parent mergeParent(Parent target, Parent source, boolean sourceDominant, Map context) {
Parent.Builder builder = Parent.newBuilder(target);
mergeParent(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeParent(Parent.Builder builder, Parent target, Parent source, boolean sourceDominant, Map context) {
mergeParent_GroupId(builder, target, source, sourceDominant, context);
mergeParent_ArtifactId(builder, target, source, sourceDominant, context);
mergeParent_Version(builder, target, source, sourceDominant, context);
mergeParent_RelativePath(builder, target, source, sourceDominant, context);
}
protected void mergeParent_GroupId(Parent.Builder builder, Parent target, Parent source, boolean sourceDominant, Map context) {
String src = source.getGroupId();
String tgt = target.getGroupId();
if (src != null && (sourceDominant || tgt == null)) {
builder.groupId(src);
builder.location("groupId", source.getLocation("groupId"));
}
}
protected void mergeParent_ArtifactId(Parent.Builder builder, Parent target, Parent source, boolean sourceDominant, Map context) {
String src = source.getArtifactId();
String tgt = target.getArtifactId();
if (src != null && (sourceDominant || tgt == null)) {
builder.artifactId(src);
builder.location("artifactId", source.getLocation("artifactId"));
}
}
protected void mergeParent_Version(Parent.Builder builder, Parent target, Parent source, boolean sourceDominant, Map context) {
String src = source.getVersion();
String tgt = target.getVersion();
if (src != null && (sourceDominant || tgt == null)) {
builder.version(src);
builder.location("version", source.getLocation("version"));
}
}
protected void mergeParent_RelativePath(Parent.Builder builder, Parent target, Parent source, boolean sourceDominant, Map context) {
String src = source.getRelativePath();
String tgt = target.getRelativePath();
if (src != null && (sourceDominant || tgt == null)) {
builder.relativePath(src);
builder.location("relativePath", source.getLocation("relativePath"));
}
}
protected Scm mergeScm(Scm target, Scm source, boolean sourceDominant, Map context) {
Scm.Builder builder = Scm.newBuilder(target);
mergeScm(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeScm(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
mergeScm_Connection(builder, target, source, sourceDominant, context);
mergeScm_DeveloperConnection(builder, target, source, sourceDominant, context);
mergeScm_Tag(builder, target, source, sourceDominant, context);
mergeScm_Url(builder, target, source, sourceDominant, context);
mergeScm_ChildScmConnectionInheritAppendPath(builder, target, source, sourceDominant, context);
mergeScm_ChildScmDeveloperConnectionInheritAppendPath(builder, target, source, sourceDominant, context);
mergeScm_ChildScmUrlInheritAppendPath(builder, target, source, sourceDominant, context);
}
protected void mergeScm_Connection(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getConnection();
String tgt = target.getConnection();
if (src != null && (sourceDominant || tgt == null)) {
builder.connection(src);
builder.location("connection", source.getLocation("connection"));
}
}
protected void mergeScm_DeveloperConnection(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getDeveloperConnection();
String tgt = target.getDeveloperConnection();
if (src != null && (sourceDominant || tgt == null)) {
builder.developerConnection(src);
builder.location("developerConnection", source.getLocation("developerConnection"));
}
}
protected void mergeScm_Tag(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getTag();
String tgt = target.getTag();
if (src != null && (sourceDominant || tgt == null)) {
builder.tag(src);
builder.location("tag", source.getLocation("tag"));
}
}
protected void mergeScm_Url(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeScm_ChildScmConnectionInheritAppendPath(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getChildScmConnectionInheritAppendPath();
String tgt = target.getChildScmConnectionInheritAppendPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.childScmConnectionInheritAppendPath(src);
builder.location("childScmConnectionInheritAppendPath", source.getLocation("childScmConnectionInheritAppendPath"));
}
}
protected void mergeScm_ChildScmDeveloperConnectionInheritAppendPath(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getChildScmDeveloperConnectionInheritAppendPath();
String tgt = target.getChildScmDeveloperConnectionInheritAppendPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.childScmDeveloperConnectionInheritAppendPath(src);
builder.location("childScmDeveloperConnectionInheritAppendPath", source.getLocation("childScmDeveloperConnectionInheritAppendPath"));
}
}
protected void mergeScm_ChildScmUrlInheritAppendPath(Scm.Builder builder, Scm target, Scm source, boolean sourceDominant, Map context) {
String src = source.getChildScmUrlInheritAppendPath();
String tgt = target.getChildScmUrlInheritAppendPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.childScmUrlInheritAppendPath(src);
builder.location("childScmUrlInheritAppendPath", source.getLocation("childScmUrlInheritAppendPath"));
}
}
protected FileSet mergeFileSet(FileSet target, FileSet source, boolean sourceDominant, Map context) {
FileSet.Builder builder = FileSet.newBuilder(target);
mergeFileSet(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeFileSet(FileSet.Builder builder, FileSet target, FileSet source, boolean sourceDominant, Map context) {
mergePatternSet(builder, target, source, sourceDominant, context);
mergeFileSet_Directory(builder, target, source, sourceDominant, context);
}
protected void mergeFileSet_Includes(FileSet.Builder builder, FileSet target, FileSet source, boolean sourceDominant, Map context) {
builder.includes(merge(target.getIncludes(), source.getIncludes(), sourceDominant, e -> e));
}
protected void mergeFileSet_Excludes(FileSet.Builder builder, FileSet target, FileSet source, boolean sourceDominant, Map context) {
builder.excludes(merge(target.getExcludes(), source.getExcludes(), sourceDominant, e -> e));
}
protected void mergeFileSet_Directory(FileSet.Builder builder, FileSet target, FileSet source, boolean sourceDominant, Map context) {
String src = source.getDirectory();
String tgt = target.getDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.directory(src);
builder.location("directory", source.getLocation("directory"));
}
}
protected Resource mergeResource(Resource target, Resource source, boolean sourceDominant, Map context) {
Resource.Builder builder = Resource.newBuilder(target);
mergeResource(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeResource(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
mergeFileSet(builder, target, source, sourceDominant, context);
mergeResource_TargetPath(builder, target, source, sourceDominant, context);
mergeResource_Filtering(builder, target, source, sourceDominant, context);
mergeResource_MergeId(builder, target, source, sourceDominant, context);
}
protected void mergeResource_Includes(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
builder.includes(merge(target.getIncludes(), source.getIncludes(), sourceDominant, e -> e));
}
protected void mergeResource_Excludes(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
builder.excludes(merge(target.getExcludes(), source.getExcludes(), sourceDominant, e -> e));
}
protected void mergeResource_Directory(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
String src = source.getDirectory();
String tgt = target.getDirectory();
if (src != null && (sourceDominant || tgt == null)) {
builder.directory(src);
builder.location("directory", source.getLocation("directory"));
}
}
protected void mergeResource_TargetPath(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
String src = source.getTargetPath();
String tgt = target.getTargetPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.targetPath(src);
builder.location("targetPath", source.getLocation("targetPath"));
}
}
protected void mergeResource_Filtering(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
String src = source.getFiltering();
String tgt = target.getFiltering();
if (src != null && (sourceDominant || tgt == null)) {
builder.filtering(src);
builder.location("filtering", source.getLocation("filtering"));
}
}
protected void mergeResource_MergeId(Resource.Builder builder, Resource target, Resource source, boolean sourceDominant, Map context) {
String src = source.getMergeId();
String tgt = target.getMergeId();
if (src != null && (sourceDominant || tgt == null)) {
builder.mergeId(src);
builder.location("mergeId", source.getLocation("mergeId"));
}
}
protected RepositoryBase mergeRepositoryBase(RepositoryBase target, RepositoryBase source, boolean sourceDominant, Map context) {
RepositoryBase.Builder builder = RepositoryBase.newBuilder(target);
mergeRepositoryBase(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeRepositoryBase(RepositoryBase.Builder builder, RepositoryBase target, RepositoryBase source, boolean sourceDominant, Map context) {
mergeRepositoryBase_Id(builder, target, source, sourceDominant, context);
mergeRepositoryBase_Name(builder, target, source, sourceDominant, context);
mergeRepositoryBase_Url(builder, target, source, sourceDominant, context);
mergeRepositoryBase_Layout(builder, target, source, sourceDominant, context);
}
protected void mergeRepositoryBase_Id(RepositoryBase.Builder builder, RepositoryBase target, RepositoryBase source, boolean sourceDominant, Map context) {
String src = source.getId();
String tgt = target.getId();
if (src != null && (sourceDominant || tgt == null)) {
builder.id(src);
builder.location("id", source.getLocation("id"));
}
}
protected void mergeRepositoryBase_Name(RepositoryBase.Builder builder, RepositoryBase target, RepositoryBase source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeRepositoryBase_Url(RepositoryBase.Builder builder, RepositoryBase target, RepositoryBase source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeRepositoryBase_Layout(RepositoryBase.Builder builder, RepositoryBase target, RepositoryBase source, boolean sourceDominant, Map context) {
String src = source.getLayout();
String tgt = target.getLayout();
if (src != null && (sourceDominant || tgt == null)) {
builder.layout(src);
builder.location("layout", source.getLocation("layout"));
}
}
protected Repository mergeRepository(Repository target, Repository source, boolean sourceDominant, Map context) {
Repository.Builder builder = Repository.newBuilder(target);
mergeRepository(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeRepository(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
mergeRepositoryBase(builder, target, source, sourceDominant, context);
mergeRepository_Releases(builder, target, source, sourceDominant, context);
mergeRepository_Snapshots(builder, target, source, sourceDominant, context);
}
protected void mergeRepository_Id(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
String src = source.getId();
String tgt = target.getId();
if (src != null && (sourceDominant || tgt == null)) {
builder.id(src);
builder.location("id", source.getLocation("id"));
}
}
protected void mergeRepository_Name(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeRepository_Url(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeRepository_Layout(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
String src = source.getLayout();
String tgt = target.getLayout();
if (src != null && (sourceDominant || tgt == null)) {
builder.layout(src);
builder.location("layout", source.getLocation("layout"));
}
}
protected void mergeRepository_Releases(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
RepositoryPolicy src = source.getReleases();
if (src != null) {
RepositoryPolicy tgt = target.getReleases();
if (tgt == null) {
tgt = RepositoryPolicy.newInstance(false);
}
RepositoryPolicy merged = mergeRepositoryPolicy(tgt, src, sourceDominant, context);
builder.releases(merged);
if (target.getReleases() == null) {
builder.location("releases", source.getLocation("releases"));
} else if (merged != tgt) {
builder.location("releases", new InputLocation(-1, -1));
}
}
}
protected void mergeRepository_Snapshots(Repository.Builder builder, Repository target, Repository source, boolean sourceDominant, Map context) {
RepositoryPolicy src = source.getSnapshots();
if (src != null) {
RepositoryPolicy tgt = target.getSnapshots();
if (tgt == null) {
tgt = RepositoryPolicy.newInstance(false);
}
RepositoryPolicy merged = mergeRepositoryPolicy(tgt, src, sourceDominant, context);
builder.snapshots(merged);
if (target.getSnapshots() == null) {
builder.location("snapshots", source.getLocation("snapshots"));
} else if (merged != tgt) {
builder.location("snapshots", new InputLocation(-1, -1));
}
}
}
protected DeploymentRepository mergeDeploymentRepository(DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
DeploymentRepository.Builder builder = DeploymentRepository.newBuilder(target);
mergeDeploymentRepository(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeDeploymentRepository(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
mergeRepository(builder, target, source, sourceDominant, context);
mergeDeploymentRepository_UniqueVersion(builder, target, source, sourceDominant, context);
}
protected void mergeDeploymentRepository_Id(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
String src = source.getId();
String tgt = target.getId();
if (src != null && (sourceDominant || tgt == null)) {
builder.id(src);
builder.location("id", source.getLocation("id"));
}
}
protected void mergeDeploymentRepository_Name(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeDeploymentRepository_Url(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeDeploymentRepository_Layout(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
String src = source.getLayout();
String tgt = target.getLayout();
if (src != null && (sourceDominant || tgt == null)) {
builder.layout(src);
builder.location("layout", source.getLocation("layout"));
}
}
protected void mergeDeploymentRepository_Releases(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
RepositoryPolicy src = source.getReleases();
if (src != null) {
RepositoryPolicy tgt = target.getReleases();
if (tgt == null) {
tgt = RepositoryPolicy.newInstance(false);
}
RepositoryPolicy merged = mergeRepositoryPolicy(tgt, src, sourceDominant, context);
builder.releases(merged);
if (target.getReleases() == null) {
builder.location("releases", source.getLocation("releases"));
} else if (merged != tgt) {
builder.location("releases", new InputLocation(-1, -1));
}
}
}
protected void mergeDeploymentRepository_Snapshots(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
RepositoryPolicy src = source.getSnapshots();
if (src != null) {
RepositoryPolicy tgt = target.getSnapshots();
if (tgt == null) {
tgt = RepositoryPolicy.newInstance(false);
}
RepositoryPolicy merged = mergeRepositoryPolicy(tgt, src, sourceDominant, context);
builder.snapshots(merged);
if (target.getSnapshots() == null) {
builder.location("snapshots", source.getLocation("snapshots"));
} else if (merged != tgt) {
builder.location("snapshots", new InputLocation(-1, -1));
}
}
}
protected void mergeDeploymentRepository_UniqueVersion(DeploymentRepository.Builder builder, DeploymentRepository target, DeploymentRepository source, boolean sourceDominant, Map context) {
if (sourceDominant) {
builder.uniqueVersion(source.isUniqueVersion());
}
}
protected RepositoryPolicy mergeRepositoryPolicy(RepositoryPolicy target, RepositoryPolicy source, boolean sourceDominant, Map context) {
RepositoryPolicy.Builder builder = RepositoryPolicy.newBuilder(target);
mergeRepositoryPolicy(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeRepositoryPolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target, RepositoryPolicy source, boolean sourceDominant, Map context) {
mergeRepositoryPolicy_Enabled(builder, target, source, sourceDominant, context);
mergeRepositoryPolicy_UpdatePolicy(builder, target, source, sourceDominant, context);
mergeRepositoryPolicy_ChecksumPolicy(builder, target, source, sourceDominant, context);
}
protected void mergeRepositoryPolicy_Enabled(RepositoryPolicy.Builder builder, RepositoryPolicy target, RepositoryPolicy source, boolean sourceDominant, Map context) {
String src = source.getEnabled();
String tgt = target.getEnabled();
if (src != null && (sourceDominant || tgt == null)) {
builder.enabled(src);
builder.location("enabled", source.getLocation("enabled"));
}
}
protected void mergeRepositoryPolicy_UpdatePolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target, RepositoryPolicy source, boolean sourceDominant, Map context) {
String src = source.getUpdatePolicy();
String tgt = target.getUpdatePolicy();
if (src != null && (sourceDominant || tgt == null)) {
builder.updatePolicy(src);
builder.location("updatePolicy", source.getLocation("updatePolicy"));
}
}
protected void mergeRepositoryPolicy_ChecksumPolicy(RepositoryPolicy.Builder builder, RepositoryPolicy target, RepositoryPolicy source, boolean sourceDominant, Map context) {
String src = source.getChecksumPolicy();
String tgt = target.getChecksumPolicy();
if (src != null && (sourceDominant || tgt == null)) {
builder.checksumPolicy(src);
builder.location("checksumPolicy", source.getLocation("checksumPolicy"));
}
}
protected Site mergeSite(Site target, Site source, boolean sourceDominant, Map context) {
Site.Builder builder = Site.newBuilder(target);
mergeSite(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeSite(Site.Builder builder, Site target, Site source, boolean sourceDominant, Map context) {
mergeSite_Id(builder, target, source, sourceDominant, context);
mergeSite_Name(builder, target, source, sourceDominant, context);
mergeSite_Url(builder, target, source, sourceDominant, context);
mergeSite_ChildSiteUrlInheritAppendPath(builder, target, source, sourceDominant, context);
}
protected void mergeSite_Id(Site.Builder builder, Site target, Site source, boolean sourceDominant, Map context) {
String src = source.getId();
String tgt = target.getId();
if (src != null && (sourceDominant || tgt == null)) {
builder.id(src);
builder.location("id", source.getLocation("id"));
}
}
protected void mergeSite_Name(Site.Builder builder, Site target, Site source, boolean sourceDominant, Map context) {
String src = source.getName();
String tgt = target.getName();
if (src != null && (sourceDominant || tgt == null)) {
builder.name(src);
builder.location("name", source.getLocation("name"));
}
}
protected void mergeSite_Url(Site.Builder builder, Site target, Site source, boolean sourceDominant, Map context) {
String src = source.getUrl();
String tgt = target.getUrl();
if (src != null && (sourceDominant || tgt == null)) {
builder.url(src);
builder.location("url", source.getLocation("url"));
}
}
protected void mergeSite_ChildSiteUrlInheritAppendPath(Site.Builder builder, Site target, Site source, boolean sourceDominant, Map context) {
String src = source.getChildSiteUrlInheritAppendPath();
String tgt = target.getChildSiteUrlInheritAppendPath();
if (src != null && (sourceDominant || tgt == null)) {
builder.childSiteUrlInheritAppendPath(src);
builder.location("childSiteUrlInheritAppendPath", source.getLocation("childSiteUrlInheritAppendPath"));
}
}
protected ConfigurationContainer mergeConfigurationContainer(ConfigurationContainer target, ConfigurationContainer source, boolean sourceDominant, Map context) {
ConfigurationContainer.Builder builder = ConfigurationContainer.newBuilder(target);
mergeConfigurationContainer(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergeConfigurationContainer(ConfigurationContainer.Builder builder, ConfigurationContainer target, ConfigurationContainer source, boolean sourceDominant, Map context) {
mergeConfigurationContainer_Inherited(builder, target, source, sourceDominant, context);
mergeConfigurationContainer_Configuration(builder, target, source, sourceDominant, context);
}
protected void mergeConfigurationContainer_Inherited(ConfigurationContainer.Builder builder, ConfigurationContainer target, ConfigurationContainer source, boolean sourceDominant, Map context) {
String src = source.getInherited();
String tgt = target.getInherited();
if (src != null && (sourceDominant || tgt == null)) {
builder.inherited(src);
builder.location("inherited", source.getLocation("inherited"));
}
}
protected void mergeConfigurationContainer_Configuration(ConfigurationContainer.Builder builder, ConfigurationContainer target, ConfigurationContainer source, boolean sourceDominant, Map context) {
XmlNode src = source.getConfiguration();
if (src != null) {
XmlNode tgt = target.getConfiguration();
if (tgt == null) {
builder.configuration(src);
builder.location("configuration", source.getLocation("configuration"));
} else if (sourceDominant) {
builder.configuration(src.merge(tgt));
builder.location("configuration", target.getLocation("configuration"));
} else {
builder.configuration(tgt.merge(src));
builder.location("configuration", null);
}
}
}
protected Plugin mergePlugin(Plugin target, Plugin source, boolean sourceDominant, Map context) {
Plugin.Builder builder = Plugin.newBuilder(target);
mergePlugin(builder, target, source, sourceDominant, context);
return builder.build();
}
protected void mergePlugin(Plugin.Builder builder, Plugin target, Plugin source, boolean sourceDominant, Map context) {
mergeConfigurationContainer(builder, target, source, sourceDominant, context);
mergePlugin_GroupId(builder, target, source, sourceDominant, context);
mergePlugin_ArtifactId(builder, target, source, sourceDominant, context);
mergePlugin_Version(builder, target, source, sourceDominant, context);
mergePlugin_Extensions(builder, target, source, sourceDominant, context);
mergePlugin_Executions(builder, target, source, sourceDominant, context);
mergePlugin_Dependencies(builder, target, source, sourceDominant, context);
}
protected void mergePlugin_Inherited(Plugin.Builder builder, Plugin target, Plugin source, boolean sourceDominant, Map context) {
String src = source.getInherited();
String tgt = target.getInherited();
if (src != null && (sourceDominant || tgt == null)) {
builder.inherited(src);
builder.location("inherited", source.getLocation("inherited"));
}
}
protected void mergePlugin_Configuration(Plugin.Builder builder, Plugin target, Plugin source, boolean sourceDominant, Map context) {
XmlNode src = source.getConfiguration();
if (src != null) {
XmlNode tgt = target.getConfiguration();
if (tgt == null) {
builder.configuration(src);
builder.location("configuration", source.getLocation("configuration"));
} else if (sourceDominant) {
builder.configuration(src.merge(tgt));
builder.location("configuration", target.getLocation("configuration"));
} else {
builder.configuration(tgt.merge(src));
builder.location("configuration", null);
}
}
}
protected void mergePlugin_GroupId(Plugin.Builder builder, Plugin target, Plugin source, boolean sourceDominant, Map context) {
String src = source.getGroupId();
String tgt = target.getGroupId();
if (src != null && (sourceDominant || tgt == null)) {
builder.groupId(src);
builder.location("groupId", source.getLocation("groupId"));
}
}
protected void mergePlugin_ArtifactId(Plugin.Builder builder, Plugin target, Plugin source, boolean sourceDominant, Map context) {
String src = source.getArtifactId();
String tgt = target.getArtifactId();
if (src != null && (sourceDominant || tgt == null)) {
builder.artifactId(src);
builder.location("artifactId", source.getLocation("artifactId"));
}
}
protected void mergePlugin_Version(Plugin.Builder builder, Plugin target, Plugin source, boolean sourceDominant, Map