You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2019/07/14 14:22:09 UTC
[maven-resolver] 01/01: dependency collector without multiple
threads
This is an automated email from the ASF dual-hosted git repository.
tibordigana pushed a commit to branch buildfix-1-thread
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit 7aa26d2b7d145f7154087ffab16cb9df7db17d53
Author: tibordigana <ti...@apache.org>
AuthorDate: Sun Jul 14 16:22:00 2019 +0200
dependency collector without multiple threads
---
.../impl/collect/DefaultDependencyCollector.java | 45 ++++++++--------------
1 file changed, 15 insertions(+), 30 deletions(-)
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
index 9d37435..2da7617 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java
@@ -33,9 +33,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static java.util.Objects.requireNonNull;
-import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
@@ -152,7 +150,7 @@ public class DefaultDependencyCollector
new LinkedBlockingQueue<Runnable>(), new WorkerThreadFactory( "artifact-descriptor-resolver" ) );
try
{
- return collectDependenciesWithExecutor( session, request, executor );
+ return collectDependenciesWithExecutor( session, request );
}
finally
{
@@ -160,8 +158,7 @@ public class DefaultDependencyCollector
}
}
- private CollectResult collectDependenciesWithExecutor( RepositorySystemSession session, CollectRequest request,
- ExecutorService executor )
+ private CollectResult collectDependenciesWithExecutor( RepositorySystemSession session, CollectRequest request )
throws DependencyCollectionException
{
session = DependencyCollectionUtils.optimizeSession( session );
@@ -180,7 +177,7 @@ public class DefaultDependencyCollector
context.setCollectResult( result );
context.setTrace( trace );
- Args args = new Args( session, trace, null, null, context, null, request, executor );
+ Args args = new Args( session, trace, null, null, context, null, request, null );
context.setArgs( args );
Map<String, Object> stats = LOGGER.isDebugEnabled() ? new LinkedHashMap<String, Object>() : null;
@@ -233,7 +230,7 @@ public class DefaultDependencyCollector
DefaultVersionFilterContext versionContext = new DefaultVersionFilterContext( session );
- args = new Args( session, trace, pool, nodes, context, versionContext, request, executor );
+ args = new Args( session, trace, pool, nodes, context, versionContext, request, null );
Results results = new Results( result, session );
context.setArgs( args );
context.setResults( results );
@@ -418,13 +415,7 @@ public class DefaultDependencyCollector
private Future<DependencyContext> asyncProcessDependency( final DependencyContext dc )
{
- return dc.args.executor.submit( new Callable<DependencyContext>()
- {
- public DependencyContext call()
- {
- return processDependency( dc );
- }
- } );
+ return new FutureResult<>( processDependency( dc ) );
}
private DependencyContext processDependency( DependencyContext dc )
@@ -628,24 +619,18 @@ public class DefaultDependencyCollector
Future<ArtifactDescriptorResult> descriptorResult = pool.getDescriptor( key, descriptorRequest );
if ( descriptorResult == null )
{
- descriptorResult = args.executor.submit( new Callable<ArtifactDescriptorResult>()
+ ArtifactDescriptorResult result = null;
+ try
{
- public ArtifactDescriptorResult call()
- {
- try
- {
- return descriptorReader.readArtifactDescriptor( session, descriptorRequest );
- }
- catch ( ArtifactDescriptorException e )
- {
- results.addException( d, e, args.nodes );
- pool.putDescriptor( key, e );
- return null;
- }
- }
- } );
+ result = descriptorReader.readArtifactDescriptor( session, descriptorRequest );
+ }
+ catch ( ArtifactDescriptorException e )
+ {
+ results.addException( d, e, args.nodes );
+ pool.putDescriptor( key, e );
+ }
- pool.putDescriptor( key, descriptorResult );
+ pool.putDescriptor( key, new FutureResult<>( result ) );
}
else if ( descriptorResult == DataPool.NO_DESCRIPTOR )
{