diff options
author | Martin Stockhammer <martin_s@apache.org> | 2018-10-28 13:04:30 +0100 |
---|---|---|
committer | Martin Stockhammer <martin_s@apache.org> | 2018-10-28 13:04:30 +0100 |
commit | d39977c41348cde01f3f54bd22c06ae696aab7b9 (patch) | |
tree | 08d116f43fa6b9e1c13d364d61277a40d3c54151 /archiva-modules/archiva-base/archiva-plexus-bridge/src | |
parent | 24ee701d1daee202e799b5ca17f9dff19d398c6e (diff) | |
download | archiva-d39977c41348cde01f3f54bd22c06ae696aab7b9.tar.gz archiva-d39977c41348cde01f3f54bd22c06ae696aab7b9.zip |
Fixing dependencies and adapting to new lib versions
Diffstat (limited to 'archiva-modules/archiva-base/archiva-plexus-bridge/src')
2 files changed, 26 insertions, 4 deletions
diff --git a/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/java/org/apache/archiva/common/plexusbridge/PlexusSisuBridge.java b/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/java/org/apache/archiva/common/plexusbridge/PlexusSisuBridge.java index 257b21689..b8e351ca1 100644 --- a/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/java/org/apache/archiva/common/plexusbridge/PlexusSisuBridge.java +++ b/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/java/org/apache/archiva/common/plexusbridge/PlexusSisuBridge.java @@ -19,6 +19,8 @@ package org.apache.archiva.common.plexusbridge; * under the License. */ +import com.google.inject.AbstractModule; +import org.apache.maven.bridge.MavenRepositorySystem; import org.codehaus.plexus.DefaultContainerConfiguration; import org.codehaus.plexus.DefaultPlexusContainer; import org.codehaus.plexus.PlexusConstants; @@ -26,11 +28,13 @@ import org.codehaus.plexus.PlexusContainerException; import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.eclipse.sisu.inject.TypeArguments; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; +import javax.inject.Inject; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; @@ -48,6 +52,8 @@ import java.util.Map; public class PlexusSisuBridge { + private MavenRepositorySystem mavenRepositorySystem = new MavenRepositorySystem(); + private Logger log = LoggerFactory.getLogger( getClass() ); private boolean containerAutoWiring = true; @@ -62,6 +68,16 @@ public class PlexusSisuBridge private DefaultPlexusContainer plexusContainer; + class InternalBinder extends AbstractModule { + + @Override + protected void configure( ) + { + bind( MavenRepositorySystem.class ).toInstance( mavenRepositorySystem ); + // bind(TypeArguments.implicitKey( MavenRepositorySystem.class )).to(MavenRepositorySystem.class); + } + } + @PostConstruct public void initialize() throws PlexusSisuBridgeException @@ -88,6 +104,7 @@ public class PlexusSisuBridge for ( URL url : urls ) { containerRealm.addURL( url ); + log.debug("Added url {}", url); } } @@ -100,11 +117,16 @@ public class PlexusSisuBridge try { Thread.currentThread().setContextClassLoader( containerRealm ); - plexusContainer = new DefaultPlexusContainer( conf ); + InternalBinder binder = new InternalBinder( ); + plexusContainer = new DefaultPlexusContainer( conf, binder ); + } catch ( PlexusContainerException e ) { throw new PlexusSisuBridgeException( e.getMessage(), e ); + } catch (Throwable ex) { + log.error("PlexusSisuBridge initialization failed {}", ex.getMessage(), ex); + throw new PlexusSisuBridgeException( ex.getMessage(), ex ); } finally { diff --git a/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/resources/META-INF/spring-context.xml b/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/resources/META-INF/spring-context.xml index 62f125414..e5def38ab 100644 --- a/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/resources/META-INF/spring-context.xml +++ b/archiva-modules/archiva-base/archiva-plexus-bridge/src/main/resources/META-INF/spring-context.xml @@ -28,11 +28,11 @@ default-lazy-init="true"> <context:annotation-config/> - <context:component-scan base-package="org.apache.archiva.common.plexusbridge - org.apache.maven.index"/> + <context:component-scan base-package="org.apache.archiva.common.plexusbridge, org.apache.maven.*"/> + <!-- - <bean id="indexer" class="org.apache.maven.index.DefaultIndexer"/> + <bean id="indexer" class="org.apache.maven.bridge.MavenRepositorySystem.apache.maven.index.DefaultIndexer"/> <bean id="scanner" class="org.apache.maven.index.DefaultScanner"/> <bean id="indexerEngine" class="org.apache.maven.index.DefaultIndexerEngine"/> <bean id="searchEngine" class="org.apache.maven.index.DefaultSearchEngine"/> |