private ChangesXML getChangesFromFile()

in src/main/java/org/apache/maven/plugins/changes/ChangesMojo.java [394:432]


    private ChangesXML getChangesFromFile( File changesXml, MavenProject project, Properties additionalProperties )
        throws MavenReportException
    {
        if ( !changesXml.exists() )
        {
            getLog().warn( "changes.xml file " + changesXml.getAbsolutePath() + " does not exist." );
            return null;
        }

        if ( filteringChanges )
        {
            if ( !filteredOutputDirectory.exists() )
            {
                filteredOutputDirectory.mkdirs();
            }
            try
            {
                // so we get encoding from the file itself
                try ( XmlStreamReader xmlStreamReader = new XmlStreamReader( changesXml ) )
                {
                    String encoding = xmlStreamReader.getEncoding();
                    File resultFile = new File( filteredOutputDirectory,
                                            project.getGroupId() + "." + project.getArtifactId() + "-changes.xml" );

                    final MavenFileFilterRequest mavenFileFilterRequest =
                            new MavenFileFilterRequest( changesXml, resultFile, true, project, 
                                    Collections.<String>emptyList(), false, encoding, session, additionalProperties );
                    mavenFileFilter.copyFile( mavenFileFilterRequest );
                    changesXml = resultFile;
                }
            }
            catch ( IOException | MavenFilteringException e )
            {
                throw new MavenReportException( "Exception during filtering changes file : " + e.getMessage(), e );
            }

        }
        return new ChangesXML( changesXml, getLog() );
    }