org.apache.maven.project

## Class ModelUtils

- java.lang.Object
- - org.apache.maven.project.ModelUtils

    public final class ModelUtils
    extends java.lang.Object

### Nested Class Summary

Nested Classes
`static interface` `ModelUtils.ModelPartCloner`

### Constructor Summary

Constructors
Constructor and Description
`ModelUtils()`

### Method Summary

Methods
`static Activation` `cloneActivation(Activation src)`
`static ActivationFile` `cloneActivationFile(ActivationFile src)`
`static ActivationOS` `cloneActivationOs(ActivationOS src)`
`static ActivationProperty` `cloneActivationProperty(ActivationProperty src)`
`static Build` `cloneBuild(Build src)`
`static void` `cloneBuildBaseFields(BuildBase src, BuildBase result)`
`static CiManagement` `cloneCiManagement(CiManagement src)`
`static java.lang.Object` `cloneConfiguration(java.lang.Object configuration)`
`static Contributor` `cloneContributor(Contributor src)`
`static Dependency` `cloneDependency(Dependency src)`
`static Exclusion` `cloneDependencyExclusion(Exclusion src)`
`static DependencyManagement` `cloneDependencyManagement(DependencyManagement src)`
`static DeploymentRepository` `cloneDeploymentRepository(DeploymentRepository src)`
`static Developer` `cloneDeveloper(Developer src)`
`static DistributionManagement` `cloneDistributionManagement(DistributionManagement src)`
`static Exclusion` `cloneExclusion(Exclusion src)`
`static Extension` `cloneExtension(Extension src)`
`static IssueManagement` `cloneIssueManagement(IssueManagement src)`
`static License` `cloneLicense(License src)`
`static java.util.List` `cloneListOfStrings(java.util.List src)`
`static MailingList` `cloneMailingList(MailingList src)`
`static Model` `cloneModel(Model src)`
`static Notifier` `cloneNotifier(Notifier src)`
`static Organization` `cloneOrganization(Organization src)`
`static Parent` `cloneParent(Parent src)`
`static Plugin` `clonePlugin(Plugin src)`
`static PluginExecution` `clonePluginExecution(PluginExecution src)`
`static PluginManagement` `clonePluginManagement(PluginManagement src)`
`static Prerequisites` `clonePrerequisites(Prerequisites src)`
`static Profile` `cloneProfile(Profile src)`
`static java.util.Properties` `cloneProperties(java.util.Properties src)`
`static Relocation` `cloneRelocation(Relocation src)`
`static Reporting` `cloneReporting(Reporting src)`
`static ReportPlugin` `cloneReportPlugin(ReportPlugin src)`
`static ReportSet` `cloneReportSet(ReportSet src)`
`static Repository` `cloneRepository(Repository src)`
`static RepositoryPolicy` `cloneRepositoryPolicy(RepositoryPolicy src)`
`static Resource` `cloneResource(Resource src)`
`static Scm` `cloneScm(Scm src)`
`static Site` `cloneSite(Site src)`
`static java.util.List` `mergeDependencyList(java.util.List child, java.util.List parent)`
`static void` `mergeDuplicatePluginDefinitions(PluginContainer pluginContainer)` Given this plugin list: A1 -> B -> C -> A2 -> D Rearrange it to this: A(A1 + A2) -> B -> C -> D In cases of overlapping definitions, A1 is overridden by A2
`static void` `mergeExtensionLists(Build childBuild, Build parentBuild)`
`static void` `mergeFilterLists(java.util.List childFilters, java.util.List parentFilters)`
`static void` `mergePluginDefinitions(Plugin child, Plugin parent, boolean handleAsInheritance)`
`static void` `mergePluginLists(PluginContainer child, PluginContainer parent, boolean handleAsInheritance)` This should be the resulting ordering of plugins after merging: Given: parent: X -> A -> B -> D -> E child: Y -> A -> C -> D -> F Result: X -> Y -> A -> B -> C -> D -> E -> F
`static void` `mergeReportPluginDefinitions(ReportPlugin child, ReportPlugin parent, boolean handleAsInheritance)`
`static void` `mergeReportPluginLists(Reporting child, Reporting parent, boolean handleAsInheritance)` Merge the list of reporting plugins from parent pom and child pom TODO it's pretty much a copy of `mergePluginLists(PluginContainer, PluginContainer, boolean)`
`static java.util.List` `mergeRepositoryLists(java.util.List dominant, java.util.List recessive)`
`static void` `mergeResourceLists(java.util.List childResources, java.util.List parentResources)`
`static java.util.List` `orderAfterMerge(java.util.List merged, java.util.List highPrioritySource, java.util.List lowPrioritySource)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ModelUtils

    public ModelUtils()

### Method Detail

#### mergeDuplicatePluginDefinitions

    public static void mergeDuplicatePluginDefinitions(PluginContainer pluginContainer)

Given this plugin list: A1 -> B -> C -> A2 -> D Rearrange it to this: A(A1 + A2) -> B -> C -> D In cases of overlapping definitions, A1 is overridden by A2

#### cloneReportSet

    public static ReportSet cloneReportSet(ReportSet src)

#### cloneReportPlugin

    public static ReportPlugin cloneReportPlugin(ReportPlugin src)

#### cloneProfile

    public static Profile cloneProfile(Profile src)

#### cloneReporting

    public static Reporting cloneReporting(Reporting src)

#### cloneActivation

    public static Activation cloneActivation(Activation src)

#### cloneActivationProperty

    public static ActivationProperty cloneActivationProperty(ActivationProperty src)

#### cloneActivationOs

    public static ActivationOS cloneActivationOs(ActivationOS src)

#### cloneActivationFile

    public static ActivationFile cloneActivationFile(ActivationFile src)

#### cloneRepository

    public static Repository cloneRepository(Repository src)

#### cloneRepositoryPolicy

    public static RepositoryPolicy cloneRepositoryPolicy(RepositoryPolicy src)

#### cloneMailingList

    public static MailingList cloneMailingList(MailingList src)

#### mergePluginLists

    public static void mergePluginLists(PluginContainer child,
                        PluginContainer parent,
                        boolean handleAsInheritance)

This should be the resulting ordering of plugins after merging: Given: parent: X -> A -> B -> D -> E child: Y -> A -> C -> D -> F Result: X -> Y -> A -> B -> C -> D -> E -> F

#### orderAfterMerge

    public static java.util.List orderAfterMerge(java.util.List merged,
                                 java.util.List highPrioritySource,
                                 java.util.List lowPrioritySource)

#### mergeReportPluginLists

    public static void mergeReportPluginLists(Reporting child,
                              Reporting parent,
                              boolean handleAsInheritance)

Merge the list of reporting plugins from parent pom and child pom TODO it's pretty much a copy of `mergePluginLists(PluginContainer, PluginContainer, boolean)`

Parameters:
  `child` -
  `parent` -
  `handleAsInheritance` -

#### mergePluginDefinitions

    public static void mergePluginDefinitions(Plugin child,
                              Plugin parent,
                              boolean handleAsInheritance)

#### mergeReportPluginDefinitions

    public static void mergeReportPluginDefinitions(ReportPlugin child,
                                    ReportPlugin parent,
                                    boolean handleAsInheritance)

#### cloneModel

    public static Model cloneModel(Model src)

#### cloneScm

    public static Scm cloneScm(Scm src)

#### clonePrerequisites

    public static Prerequisites clonePrerequisites(Prerequisites src)

#### cloneOrganization

    public static Organization cloneOrganization(Organization src)

#### cloneLicense

    public static License cloneLicense(License src)

#### cloneIssueManagement

    public static IssueManagement cloneIssueManagement(IssueManagement src)

#### cloneDistributionManagement

    public static DistributionManagement cloneDistributionManagement(DistributionManagement src)

#### cloneSite

    public static Site cloneSite(Site src)

#### cloneDeploymentRepository

    public static DeploymentRepository cloneDeploymentRepository(DeploymentRepository src)

#### cloneRelocation

    public static Relocation cloneRelocation(Relocation src)

#### cloneDependencyManagement

    public static DependencyManagement cloneDependencyManagement(DependencyManagement src)

#### cloneContributor

    public static Contributor cloneContributor(Contributor src)

#### cloneDeveloper

    public static Developer cloneDeveloper(Developer src)

#### cloneCiManagement

    public static CiManagement cloneCiManagement(CiManagement src)

#### cloneNotifier

    public static Notifier cloneNotifier(Notifier src)

#### cloneProperties

    public static java.util.Properties cloneProperties(java.util.Properties src)

#### cloneBuild

    public static Build cloneBuild(Build src)

#### cloneBuildBaseFields

    public static void cloneBuildBaseFields(BuildBase src,
                            BuildBase result)

#### clonePluginManagement

    public static PluginManagement clonePluginManagement(PluginManagement src)

#### cloneResource

    public static Resource cloneResource(Resource src)

#### clonePlugin

    public static Plugin clonePlugin(Plugin src)

#### clonePluginExecution

    public static PluginExecution clonePluginExecution(PluginExecution src)

#### cloneConfiguration

    public static java.lang.Object cloneConfiguration(java.lang.Object configuration)

#### cloneDependency

    public static Dependency cloneDependency(Dependency src)

#### cloneExclusion

    public static Exclusion cloneExclusion(Exclusion src)

#### cloneListOfStrings

    public static java.util.List cloneListOfStrings(java.util.List src)

#### cloneExtension

    public static Extension cloneExtension(Extension src)

#### cloneDependencyExclusion

    public static Exclusion cloneDependencyExclusion(Exclusion src)

#### cloneParent

    public static Parent cloneParent(Parent src)

#### mergeRepositoryLists

    public static java.util.List mergeRepositoryLists(java.util.List dominant,
                                      java.util.List recessive)

#### mergeExtensionLists

    public static void mergeExtensionLists(Build childBuild,
                           Build parentBuild)

#### mergeResourceLists

    public static void mergeResourceLists(java.util.List childResources,
                          java.util.List parentResources)

#### mergeFilterLists

    public static void mergeFilterLists(java.util.List childFilters,
                        java.util.List parentFilters)

#### mergeDependencyList

    public static java.util.List mergeDependencyList(java.util.List child,
                                     java.util.List parent)