in src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java [517:586]
protected List<ChangeLogSet> getChangedSets()
throws MavenReportException
{
List<ChangeLogSet> changelogList = null;
if ( !outputXML.isAbsolute() )
{
outputXML = new File( project.getBasedir(), outputXML.getPath() );
}
if ( outputXML.exists() )
{
// CHECKSTYLE_OFF: MagicNumber
if ( outputXMLExpiration > 0
&& outputXMLExpiration * 60000 > System.currentTimeMillis() - outputXML.lastModified() )
// CHECKSTYLE_ON: MagicNumber
{
try
{
//ReaderFactory.newReader( outputXML, getOutputEncoding() );
//FileInputStream fIn = new FileInputStream( outputXML );
getLog().info( "Using existing changelog.xml..." );
changelogList =
ChangeLog.loadChangedSets( ReaderFactory.newReader( outputXML, getOutputEncoding() ) );
}
catch ( FileNotFoundException e )
{
//do nothing, just regenerate
}
catch ( Exception e )
{
throw new MavenReportException( "An error occurred while parsing " + outputXML.getAbsolutePath(),
e );
}
}
}
if ( changelogList == null )
{
if ( offline )
{
throw new MavenReportException( "This report requires online mode." );
}
getLog().info( "Generating changed sets xml to: " + outputXML.getAbsolutePath() );
changelogList = generateChangeSetsFromSCM();
try
{
writeChangelogXml( changelogList );
}
catch ( FileNotFoundException e )
{
throw new MavenReportException( "Can't create " + outputXML.getAbsolutePath(), e );
}
catch ( UnsupportedEncodingException e )
{
throw new MavenReportException( "Can't create " + outputXML.getAbsolutePath(), e );
}
catch ( IOException e )
{
throw new MavenReportException( "Can't create " + outputXML.getAbsolutePath(), e );
}
}
return changelogList;
}