.setClassWorld( cliRequest.classWorld ) //
ContainerConfiguration cc = new DefaultContainerConfiguration().setClassWorld( cliRequest.classWorld ) .setRealm( containerRealm ).setClassPathScanning( PlexusConstants.SCANNING_INDEX ).setAutoWiring( true ) .setJSR250Lifecycle( true ).setName( "maven" );
protected ContainerConfiguration setupContainerConfiguration() { ClassWorld classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() ); ContainerConfiguration cc = new DefaultContainerConfiguration() .setClassWorld( classWorld ) .setClassPathScanning( PlexusConstants.SCANNING_INDEX ) .setAutoWiring( true ) .setName( "maven" ); return cc; }
public TeslaTranslatorCli(ClassWorld classWorld) throws Exception { if (classWorld == null) { classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); } ContainerConfiguration cc = new DefaultContainerConfiguration().setClassWorld(classWorld).setName("translator"); container = new DefaultPlexusContainer(cc); translator = container.lookup(TeslaModelTranslator.class); }
public MavenRepositoryImpl() throws Exception { ClassWorld classWorld = new ClassWorld( "plexus.core", MavenRepositoryImpl.class.getClassLoader() ); ContainerConfiguration configuration = new DefaultContainerConfiguration().setClassWorld( classWorld ); plexus = new DefaultPlexusContainer( configuration ); ComponentDescriptor<ArtifactTransformationManager> componentDescriptor = plexus.getComponentDescriptor(ArtifactTransformationManager.class, ArtifactTransformationManager.class.getName(), "default"); if (componentDescriptor == null) { throw new IllegalArgumentException("Unable to find maven default ArtifactTransformationManager component. You might get this if you run the program from within the exec:java mojo."); } componentDescriptor.setImplementationClass(DefaultArtifactTransformationManager.class); indexer = plexus.lookup( NexusIndexer.class ); af = plexus.lookup(ArtifactFactory.class); ar = plexus.lookup(ArtifactResolver.class); arf = plexus.lookup(ArtifactRepositoryFactory.class); localRepo = new File(new File(System.getProperty("user.home")), ".m2/repository"); local = arf.createArtifactRepository("local", localRepo.toURI().toURL().toExternalForm(), new DefaultRepositoryLayout(), POLICY, POLICY); }
protected ContainerConfiguration setupContainerConfiguration() { ClassWorld classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() ); ContainerConfiguration cc = new DefaultContainerConfiguration() .setClassWorld( classWorld ) .setClassPathScanning( PlexusConstants.SCANNING_INDEX ) .setAutoWiring( true ) .setName( "maven" ); return cc; }
public Maven30xRuntime(Module[] modules) throws Exception { ClassWorld classWorld = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); ContainerConfiguration cc = new DefaultContainerConfiguration() // .setClassWorld(classWorld) // .setClassPathScanning(PlexusConstants.SCANNING_INDEX) // .setAutoWiring(true) // .setName("maven"); this.container = new DefaultPlexusContainer(cc, modules); this.mojoDescriptors = Collections.unmodifiableMap(readPluginXml(container)); }
/** * This method will start the container, this is a non-blocking method, and will return once container has started * * @throws Exception */ public void startContainer() throws Exception { ContainerConfiguration cc = new DefaultContainerConfiguration().setClassWorld( world ).setContainerConfiguration( configuration.getAbsolutePath() ).setContext( createContainerContext() ); container = new DefaultPlexusContainer( cc ); }
private void initializePlexus() throws PlexusContainerException { final String mavenCoreRealmId = "plexus.core"; ContainerConfiguration mavenCoreCC = new DefaultContainerConfiguration().setClassWorld( new ClassWorld(mavenCoreRealmId, ClassWorld.class.getClassLoader())).setName("mavenCore"); this.plexusContainer = new DefaultPlexusContainer(mavenCoreCC); this.plexusContainer.setLoggerManager(new XWikiLoggerManager(getLogger())); }
/** * 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); } } }
public static DefaultPlexusContainer container(ClassWorld classWorld, ClassRealm realm, int loglevel) { DefaultContainerConfiguration config; DefaultPlexusContainer container; config = new DefaultContainerConfiguration(); if (classWorld != null) { config.setClassWorld(classWorld); } if (realm != null) { config.setRealm(realm); } config.setAutoWiring(true); config.setClassPathScanning(PlexusConstants.SCANNING_INDEX); try { container = new DefaultPlexusContainer(config); } catch (PlexusContainerException e) { throw new IllegalStateException(e); } container.getLoggerManager().setThreshold(loglevel); return container; }
Thread.currentThread().getContextClassLoader()); ContainerConfiguration config = new DefaultContainerConfiguration() .setClassWorld(classWorld) .setRealm(classWorld.getClassRealm("plexus.core")) .setClassPathScanning(PlexusConstants.SCANNING_INDEX)
Thread.currentThread().getContextClassLoader()); ContainerConfiguration config = new DefaultContainerConfiguration() .setClassWorld(classWorld) .setRealm(classWorld.getClassRealm("plexus.core")) .setClassPathScanning(PlexusConstants.SCANNING_INDEX)
.setClassWorld(classWorld) .setRealm(null).setClassPathScanning(PlexusConstants.SCANNING_INDEX) .setAutoWiring(true)
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 DefaultPlexusContainer newPlexusContainer() throws PlexusContainerException { final ClassWorld classWorld = new ClassWorld(MAVEN_CORE_REALM_ID, ClassWorld.class.getClassLoader()); final ClassRealm realm; try { realm = classWorld.getRealm(MAVEN_CORE_REALM_ID); } catch (NoSuchRealmException e) { throw new PlexusContainerException("Could not lookup required class realm", e); } final ContainerConfiguration mavenCoreCC = new DefaultContainerConfiguration() // .setClassWorld(classWorld) // .setRealm(realm) // .setClassPathScanning(PlexusConstants.SCANNING_INDEX) // .setAutoWiring(true) // .setName("mavenCore"); //$NON-NLS-1$ final Module logginModule = new AbstractModule() { protected void configure() { bind(ILoggerFactory.class).toInstance(LoggerFactory.getILoggerFactory()); } }; final Module coreExportsModule = new AbstractModule() { protected void configure() { ClassRealm realm = mavenCoreCC.getRealm(); CoreExtensionEntry entry = CoreExtensionEntry.discoverFrom(realm); CoreExports exports = new CoreExports(entry); bind(CoreExports.class).toInstance(exports); } }; return new DefaultPlexusContainer(mavenCoreCC, logginModule, coreExportsModule); }
public void startContainer() throws PlexusContainerException { synchronized ( waitObj ) { if ( this.container != null ) { throw new PlexusContainerException( "Container already running!" ); } AppContext context = null; try { context = createContainerContext(); } catch ( Exception e ) { throw new PlexusContainerException( "Unable to create container context!", e ); } customizeContext( context ); ContainerConfiguration configuration = new DefaultContainerConfiguration().setClassWorld( getWorld() ).setContainerConfiguration( getConfiguration().getAbsolutePath() ).setContext( context ); customizeContainerConfiguration( configuration ); container = new DefaultPlexusContainer( configuration ); customizeContainer( container ); started = true; } }
public static PlexusContainer buildPlexusContainer(ClassLoader mavenClassLoader, ClassLoader parent, MavenRequest mavenRequest) throws MavenEmbedderException { DefaultContainerConfiguration conf = new DefaultContainerConfiguration(); conf.setAutoWiring( mavenRequest.isContainerAutoWiring() ) .setClassPathScanning( mavenRequest.getContainerClassPathScanning() ) .setComponentVisibility( mavenRequest.getContainerComponentVisibility() ) .setContainerConfigurationURL(mavenRequest.getOverridingComponentsXml()); ClassWorld classWorld = new ClassWorld(); ClassRealm parentRealm = createParentRealm(classWorld, parent, MavenExecutionRequestPopulator.class, RepositorySystem.class, PlexusCipher.class); ClassRealm classRealm = createClassRealm( classWorld, "maven", mavenClassLoader ); classRealm.setParentRealm( parentRealm ); conf.setRealm( classRealm ); conf.setClassWorld( classWorld ); return buildPlexusContainer(mavenRequest,conf); }
public static PlexusContainer buildPlexusContainer(ClassLoader mavenClassLoader, ClassLoader parent, MavenRequest mavenRequest) throws MavenEmbedderException { DefaultContainerConfiguration conf = new DefaultContainerConfiguration(); conf.setAutoWiring( mavenRequest.isContainerAutoWiring() ) .setClassPathScanning( mavenRequest.getContainerClassPathScanning() ) .setComponentVisibility( mavenRequest.getContainerComponentVisibility() ) .setContainerConfigurationURL(mavenRequest.getOverridingComponentsXml()); ClassWorld classWorld = new ClassWorld(); ClassRealm parentRealm = createParentRealm(classWorld, parent, MavenExecutionRequestPopulator.class, RepositorySystem.class, PlexusCipher.class); ClassRealm classRealm = createClassRealm( classWorld, "maven", mavenClassLoader ); classRealm.setParentRealm( parentRealm ); conf.setRealm( classRealm ); conf.setClassWorld( classWorld ); return buildPlexusContainer(mavenRequest,conf); }