Example usage for org.apache.maven.extension.internal CoreExports CoreExports

List of usage examples for org.apache.maven.extension.internal CoreExports CoreExports

Introduction

In this page you can find the example usage for org.apache.maven.extension.internal CoreExports CoreExports.

Prototype

public CoreExports(CoreExtensionEntry entry) 

Source Link

Usage

From source file:org.springframework.ide.vscode.commons.maven.MavenBridge.java

License:Open Source License

private static DefaultPlexusContainer newPlexusContainer() throws PlexusContainerException {
    final ClassWorld classWorld = new ClassWorld(MAVEN_CORE_REALM_ID, ClassWorld.class.getClassLoader());
    final ClassRealm realm;
    try {/*w  w w  . j ava2s  . c o  m*/
        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);
}