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 <[email protected]> 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 ) {
