Class PomFinder

java.lang.Object
org.apache.maven.shared.release.util.PomFinder

public class PomFinder extends Object

This utility class helps with finding a maven pom file which got parsed previously. It uses the fact that the combination of any parent ids plus the ids of the current pom itself is unique.

This is e.g. needed for SCM systems which do not support sparse checkout but only can checkout the repository as whole like e.g. GIT. If the module which we are going to release is not in the parent directory, we first need to search for the 'right' sub directory in this case. subdirectory

Usage:

PomFinder is a statefull class. One instance of this class intended for a singular use! You need to create a new instance if you like to search for another pom.

  1. Parse an origin pom in a given directory with parsePom(java.io.File) This will act as the information about what to search for.
  2. Search for the matching pom in a given tree using findMatchingPom(java.io.File)
Author:
Mark Struberg
  • Constructor Details

    • PomFinder

      public PomFinder(org.slf4j.Logger log)
  • Method Details

    • parsePom

      public boolean parsePom(File originPom)
      Parameters:
      originPom - the pom File which should be used as blueprint for the search
      Returns:
      true if a pom got parsed successfully, false otherwise
    • findMatchingPom

      public File findMatchingPom(File startDirectory)
      Search for the previously with parsePom(java.io.File) parsed pom in the given directory.
      Parameters:
      startDirectory - the initial directory
      Returns:
      the pom file which matches the previously parsed pom or null if no matching pom file could have been found.