@Override
    @SuppressWarnings( "deprecation" )
    public void generate( org.codehaus.doxia.sink.Sink sink, Locale locale )
        throws MavenReportException
    {
        boolean canGenerateNonAggregatedReport = canGenerateNonAggregatedReport();
        boolean canGenerateAggregatedReport = canGenerateAggregatedReport();
        boolean canAttachAggregatedReportToSite = canAttachAggregatedReportToSite();

        if ( canAttachAggregatedReportToSite && !( canGenerateNonAggregatedReport || canGenerateAggregatedReport ) )
        {
            return; // aggregated report for top level project is generated by last reactor project
        }

        try
        {
            long ts = System.currentTimeMillis();

            // If top-level project is last reactor project it should generate ONLY aggregated report here
            if ( canGenerateNonAggregatedReport )
            {
                generateReports();
            }

            // Aggregated report must be generated in last reactor project. It may be top-level
            // project (this is very rare case) or any other project.
            // Whatever project it is, it must generate report in top-level project's site directory.
            // WARNING: Last reactor project cannot have scoverage generation skipped
            // ('skip' configuration parameter set)!
            if ( canGenerateAggregatedReport )
            {
                generateAggregatedReports();
            }

            long te = System.currentTimeMillis();
            getLog().debug( String.format( "Mojo execution time: %d ms", te - ts ) );
        }
        catch ( MavenReportException e )
        {
            if ( failOnError )
            {
                throw e;
            }
            getLog().error( "Error while creating scoverage report: " + e.getMessage(), e );
        }
        catch ( RuntimeException e )
        {
            if ( failOnError )
            {
                throw new MavenReportException( "Report generation exception", e );
            }
            getLog().error( "Error while creating scoverage report: " + e.getMessage(), e );
        }
    }
@ Override @ SuppressWarnings ( "deprecation" ) public void generate ( org . codehaus . doxia . sink . Sink sink , Locale locale ) throws MavenReportException { boolean canGenerateNonAggregatedReport = canGenerateNonAggregatedReport ( ) ; boolean canGenerateAggregatedReport = canGenerateAggregatedReport ( ) ; boolean canAttachAggregatedReportToSite = canAttachAggregatedReportToSite ( ) ; if ( canAttachAggregatedReportToSite && ! ( canGenerateNonAggregatedReport || canGenerateAggregatedReport ) ) { return ; } try { long ts = System . currentTimeMillis ( ) ; if ( canGenerateNonAggregatedReport ) { generateReports ( ) ; } if ( canGenerateAggregatedReport ) { generateAggregatedReports ( ) ; } long te = System . currentTimeMillis ( ) ; getLog ( ) . debug ( String . format ( "Mojo execution time: %d ms" , te - ts ) ) ; } catch ( MavenReportException e ) { if ( failOnError ) { throw e ; } getLog ( ) . error ( "Error while creating scoverage report: " + e . getMessage ( ) , e ) ; } catch ( RuntimeException e ) { if ( failOnError ) { throw new MavenReportException ( "Report generation exception" , e ) ; } getLog ( ) . error ( "Error while creating scoverage report: " + e . getMessage ( ) , e ) ; } }
{@inheritDoc}