Class PomFinder
- java.lang.Object
-
- org.apache.maven.shared.release.util.PomFinder
-
public class PomFinder extends java.lang.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.
- Parse an origin pom in a given directory with
parsePom(java.io.File)
This will act as the information about what to search for.- Search for the matching pom in a given tree using
findMatchingPom(java.io.File)
- Parse an origin pom in a given directory with
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PomFinder.PomInfo
Data container which helds information about a pom.
-
Field Summary
Fields Modifier and Type Field Description private PomFinder.PomInfo
foundPomInfo
private org.codehaus.plexus.logging.Logger
log
-
Constructor Summary
Constructors Constructor Description PomFinder(org.codehaus.plexus.logging.Logger log)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.File
findMatchingPom(java.io.File startDirectory)
Search for the previously withparsePom(java.io.File)
parsed pom in the given directory.boolean
parsePom(java.io.File originPom)
private PomFinder.PomInfo
readPomInfo(java.io.File pomFile)
Read thePomFinder.PomInfo
from the given pom file
-
-
-
Field Detail
-
log
private org.codehaus.plexus.logging.Logger log
-
foundPomInfo
private PomFinder.PomInfo foundPomInfo
-
-
Method Detail
-
parsePom
public boolean parsePom(java.io.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 java.io.File findMatchingPom(java.io.File startDirectory)
Search for the previously withparsePom(java.io.File)
parsed pom in the given directory.- Parameters:
startDirectory
-- Returns:
- the pom file which matches the previously parsed pom or
null
if no matching pom file could have been found.
-
readPomInfo
private PomFinder.PomInfo readPomInfo(java.io.File pomFile) throws java.io.IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException
Read thePomFinder.PomInfo
from the given pom file- Parameters:
pomFile
- pom.xml file- Returns:
- the PomInfo or
null
- Throws:
java.io.IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
-
-