container.setLoggerManager( plexusLoggerManager );
Thread.currentThread().setContextClassLoader( container.getContainerRealm() ); container.setLoggerManager( plexusLoggerManager );
context.getContainer().setLoggerManager( loggerManager );
private PlexusContainer createContainer() throws Exception { DefaultContainerConfiguration config = new DefaultContainerConfiguration(); // When running under ClassWorlds already, then set the containers realm to the current realm ClassLoader cl = getClass().getClassLoader(); if (cl instanceof ClassRealm) { config.setRealm((ClassRealm)cl); } else { // Else, when testing, setup a new realm ClassWorld classWorld = new ClassWorld(); ClassRealm classRealm = classWorld.newRealm("testing", getClass().getClassLoader()); config.setRealm(classRealm); } DefaultPlexusContainer container = new DefaultPlexusContainer(config); container.setLoggerManager(new Slf4jLoggingManager()); log.debug("Constructed Plexus container: {}", container); return container; }
public static int main( String[] args ) throws Exception { ClassLoader orig = Thread.currentThread().getContextClassLoader(); try { ClassRealm containerRealm = (ClassRealm) Thread.currentThread().getContextClassLoader(); ContainerConfiguration cc = new DefaultContainerConfiguration().setName( "maven" ) .setRealm( containerRealm ); DefaultPlexusContainer container = new DefaultPlexusContainer( cc ); MavenLoggerManager mavenLoggerManager = new MavenLoggerManager( new PrintStreamLogger( System.out ) ); container.setLoggerManager( mavenLoggerManager ); Maven maven = (Maven) container.lookup( "org.apache.maven.Maven", "default" ); MavenExecutionRequest request = getMavenExecutionRequest( args, container ); MavenExecutionResult result = maven.execute( request ); hudsonMavenExecutionResult = new HudsonMavenExecutionResult( result ); // we don't care about cli mavenExecutionResult will be study in the the plugin return 0;// cli.doMain( args, null ); } catch ( ComponentLookupException e ) { throw new Exception( e.getMessage(), e ); } finally { Thread.currentThread().setContextClassLoader( orig ); } }
public static int main( String[] args ) throws Exception { ClassLoader orig = Thread.currentThread().getContextClassLoader(); try { ClassRealm containerRealm = (ClassRealm) Thread.currentThread().getContextClassLoader(); ContainerConfiguration cc = new DefaultContainerConfiguration().setName( "maven" ) .setRealm( containerRealm ); DefaultPlexusContainer container = new DefaultPlexusContainer( cc ); MavenLoggerManager mavenLoggerManager = new MavenLoggerManager( new PrintStreamLogger( System.out ) ); container.setLoggerManager( mavenLoggerManager ); Maven maven = (Maven) container.lookup( "org.apache.maven.Maven", "default" ); MavenExecutionRequest request = getMavenExecutionRequest( args, container ); MavenExecutionResult result = maven.execute( request ); hudsonMavenExecutionResult = new HudsonMavenExecutionResult( result ); // we don't care about cli mavenExecutionResult will be study in the the plugin return 0;// cli.doMain( args, null ); } catch ( ComponentLookupException e ) { throw new Exception( e.getMessage(), e ); } finally { Thread.currentThread().setContextClassLoader( orig ); } }
/** * code from org.apache.maven.cli.MavenCli.container(CliRequest) * <p> * cf also https://github.com/igor-suhorukov/mvn-classloader/blob/master/dropship/src/main/java/com/github/smreed/dropship/ClassLoaderBuilder.java */ private static PlexusContainer mvnContainer() { ILoggerFactory slf4jLoggerFactory = LoggerFactory.getILoggerFactory(); Slf4jLoggerManager plexusLoggerManager = new Slf4jLoggerManager(); ClassWorld classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); DefaultPlexusContainer container = null; ContainerConfiguration cc = new DefaultContainerConfiguration() .setClassWorld(classWorld) .setClassPathScanning(PlexusConstants.SCANNING_INDEX) .setAutoWiring(true) .setName("maven"); try { container = new DefaultPlexusContainer(cc, new AbstractModule() { protected void configure() { bind(ILoggerFactory.class).toInstance(slf4jLoggerFactory); } }); } catch (PlexusContainerException e) { LOGGER.error("unable to create PlexusContainer", e); } // NOTE: To avoid inconsistencies, we'll use the TCCL exclusively for lookups container.setLookupRealm(null); container.setLoggerManager(plexusLoggerManager); Thread.currentThread().setContextClassLoader(container.getContainerRealm()); return container; }
private static PlexusContainer container() { try { ClassWorld classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); ContainerConfiguration cc = new DefaultContainerConfiguration() .setClassWorld(classWorld) .setRealm(null) .setName("maven"); DefaultPlexusContainer container = new DefaultPlexusContainer(cc); // NOTE: To avoid inconsistencies, we'll use the Thread context class loader exclusively for lookups container.setLookupRealm(null); container.setLoggerManager(new Slf4jLoggerManager()); container.getLoggerManager().setThresholds(Logger.LEVEL_INFO); return container; } catch (PlexusContainerException e) { throw new RuntimeException("Error loading Maven system", e); } } }
container.setLoggerManager( mavenLoggerManager );
protected PlexusContainer container(AFCliRequest cliRequest, ClassWorld classWorld) throws Exception { if (reusableExtensions != null) { reusableContainerCoreExtensions.setLookupRealm(null); ((DefaultPlexusContainer) reusableContainerCoreExtensions).setLoggerManager(plexusLoggerManager); ((DefaultPlexusContainer) reusableContainerCoreExtensions).getLoggerManager().setThresholds(cliRequest.getRequest().getLoggingLevel()); Thread.currentThread().setContextClassLoader(reusableContainerCoreExtensions.getContainerRealm()); } if (reusableContainer == null) { reusableContainer = createNewPlexusContainer(cliRequest, classWorld); } else { ((DefaultPlexusContainer) reusableContainer).getLoggerManager().setThresholds(cliRequest.getRequest().getLoggingLevel()); Thread.currentThread().setContextClassLoader(reusableContainer.getContainerRealm()); setEventSpyContextData(reusableEventSpyContext, reusableContainer, cliRequest); } return reusableContainer; }
@Override public void initialize() throws InitializationException { try { ContainerConfiguration config = new DefaultContainerConfiguration(); config.setAutoWiring(true); config.setClassPathScanning(PlexusConstants.SCANNING_INDEX); this.plexusContainer = new DefaultPlexusContainer(config); this.plexusContainer.setLoggerManager(new XWikiLoggerManager(this.logger)); } catch (PlexusContainerException e) { throw new InitializationException("Failed to initialize Maven", e); } }
@Override public DefaultPlexusContainer call() throws Exception { try { ContainerConfiguration config = new DefaultContainerConfiguration().setAutoWiring(true) .setClassPathScanning(PlexusConstants.SCANNING_INDEX); plexusContainer = new DefaultPlexusContainer(config); // NOTE: To avoid inconsistencies, we'll use the TCCL exclusively for lookups plexusContainer.setLookupRealm(null); ConsoleLoggerManager loggerManager = new ConsoleLoggerManager(); loggerManager.setThreshold("ERROR"); plexusContainer.setLoggerManager(loggerManager); return plexusContainer; } catch (Exception e) { throw new RuntimeException( "Could not initialize Maven", e); } } });
container.setLoggerManager(new Slf4jLoggerManager()); container.getLoggerManager().setThresholds(Logger.LEVEL_INFO);
container.setLoggerManager( plexusLoggerManager );
public static @NonNull MavenEmbedder createProjectLikeEmbedder() throws PlexusContainerException { final String mavenCoreRealmId = "plexus.core"; ContainerConfiguration dpcreq = new DefaultContainerConfiguration() .setClassWorld( new ClassWorld(mavenCoreRealmId, EmbedderFactory.class.getClassLoader()) ) .setName("maven"); DefaultPlexusContainer pc = new DefaultPlexusContainer(dpcreq, new ExtensionModule()); pc.setLoggerManager(new NbLoggerManager()); Properties userprops = new Properties(); userprops.putAll(getCustomGlobalUserProperties()); EmbedderConfiguration configuration = new EmbedderConfiguration(pc, cloneStaticProps(), userprops, true, getSettingsXml()); try { return new MavenEmbedder(configuration); //MEVENIDE-634 make all instances non-interactive // WagonManager wagonManager = (WagonManager) embedder.getPlexusContainer().lookup(WagonManager.ROLE); // wagonManager.setInteractive(false); } catch (ComponentLookupException ex) { throw new PlexusContainerException(ex.toString(), ex); } }
private static PlexusContainer buildPlexusContainer(MavenRequest mavenRequest,ContainerConfiguration containerConfiguration ) throws MavenEmbedderException { try { DefaultPlexusContainer plexusContainer = new DefaultPlexusContainer( containerConfiguration ); if (mavenRequest.getMavenLoggerManager() != null) { plexusContainer.setLoggerManager( mavenRequest.getMavenLoggerManager() ); } if (mavenRequest.getLoggingLevel() > 0) { plexusContainer.getLoggerManager().setThreshold( mavenRequest.getLoggingLevel() ); } return plexusContainer; } catch ( PlexusContainerException e ) { throw new MavenEmbedderException( e.getMessage(), e ); } }
pc.setLoggerManager(new NbLoggerManager());
private static PlexusContainer buildPlexusContainer(MavenRequest mavenRequest,ContainerConfiguration containerConfiguration ) throws MavenEmbedderException { try { DefaultPlexusContainer plexusContainer = new DefaultPlexusContainer( containerConfiguration ); if (mavenRequest.getMavenLoggerManager() != null) { plexusContainer.setLoggerManager( mavenRequest.getMavenLoggerManager() ); } if (mavenRequest.getLoggingLevel() > 0) { plexusContainer.getLoggerManager().setThreshold( mavenRequest.getLoggingLevel() ); } return plexusContainer; } catch ( PlexusContainerException e ) { throw new MavenEmbedderException( e.getMessage(), e ); } }
private static PlexusContainer buildPlexusContainer(MavenRequest mavenRequest,ContainerConfiguration containerConfiguration ) throws MavenEmbedderException { try { DefaultPlexusContainer plexusContainer = new DefaultPlexusContainer( containerConfiguration ); if (mavenRequest.getMavenLoggerManager() != null) { plexusContainer.setLoggerManager( mavenRequest.getMavenLoggerManager() ); } if (mavenRequest.getLoggingLevel() > 0) { plexusContainer.getLoggerManager().setThreshold( mavenRequest.getLoggingLevel() ); } return plexusContainer; } catch ( PlexusContainerException e ) { throw new MavenEmbedderException( e.getMessage(), e ); } }
context.getContainer().setLoggerManager( loggerManager );