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
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `ModelUtils.ModelPartCloner`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ModelUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)