Example usage for org.apache.maven.plugin BuildPluginManager loadPlugin

List of usage examples for org.apache.maven.plugin BuildPluginManager loadPlugin

Introduction

In this page you can find the example usage for org.apache.maven.plugin BuildPluginManager loadPlugin.

Prototype

PluginDescriptor loadPlugin(Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session)
            throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
            InvalidPluginDescriptorException;

Source Link

Usage

From source file:com.googlecode.ounit.maven.ReflectiveSurefireReportParser.java

License:Open Source License

public ReflectiveSurefireReportParser(MavenSession session, BuildPluginManager pluginManager) throws Exception {

    // TODO: Utter a warning if surefire used in build is different from surefire used for reporting
    /*//from  ww  w  .j av a 2s  .  c  om
    MavenProject project = session.getCurrentProject();
    for (Plugin p : project.getBuildPlugins()) {
       if (p.getId().startsWith("org.apache.maven.plugins:maven-surefire-plugin")) {
    System.out.println("Surefire version in project: "
          + p.getVersion());
    System.out.println("Surefire conf: "
          + p.getConfiguration().toString());
       }
    }
    */

    String sfGrId = "org.apache.maven.plugins";
    String sfVer = "2.8.1";

    Plugin plugin = new Plugin();
    plugin.setGroupId(sfGrId);
    plugin.setArtifactId("maven-surefire-report-plugin");
    plugin.setVersion(sfVer);
    PluginDescriptor pluginDescriptor = pluginManager.loadPlugin(plugin,
            session.getCurrentProject().getRemotePluginRepositories(), session.getRepositorySession());
    parserClass = pluginManager.getPluginRealm(session, pluginDescriptor)
            .loadClass("org.apache.maven.plugins.surefire.report.SurefireReportParser");
    testCaseClass = pluginManager.getPluginRealm(session, pluginDescriptor)
            .loadClass("org.apache.maven.plugins.surefire.report.ReportTestCase");
}