aboutsummaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-base/archiva-plexus-bridge/src
diff options
context:
space:
mode:
authorMartin Stockhammer <martin_s@apache.org>2018-10-28 13:04:30 +0100
committerMartin Stockhammer <martin_s@apache.org>2018-10-28 13:04:30 +0100
commitd39977c41348cde01f3f54bd22c06ae696aab7b9 (patch)
tree08d116f43fa6b9e1c13d364d61277a40d3c54151 /archiva-modules/archiva-base/archiva-plexus-bridge/src
parent24ee701d1daee202e799b5ca17f9dff19d398c6e (diff)
downloadarchiva-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')
-rw-r--r--archiva-modules/archiva-base/archiva-plexus-bridge/src/main/java/org/apache/archiva/common/plexusbridge/PlexusSisuBridge.java24
-rw-r--r--archiva-modules/archiva-base/archiva-plexus-bridge/src/main/resources/META-INF/spring-context.xml6
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"/>