code: @Override
      public void execute()
          throws MojoExecutionException, MojoFailureException
      {
          if ( !"pom".equals( project.getPackaging() ) )
          {
              long ts = System.currentTimeMillis();
              try
              {
                  internalExecute();
              }
              finally
              {
                  long te = System.currentTimeMillis();
                  getLog().debug( String.format( "Mojo execution time: %d ms", te - ts ) );
              }
          }
      }
docs: Performs compilation.
  
  @throws MojoExecutionException if unexpected problem occurs
  @throws MojoFailureException if expected problem (such as compilation failure) occurs