[ https://issues.apache.org/jira/browse/MRESOLVER-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17615152#comment-17615152 ]
ASF GitHub Bot commented on MRESOLVER-276: ------------------------------------------ gnodet commented on code in PR #200: URL: https://github.com/apache/maven-resolver/pull/200#discussion_r991385100 ########## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/resolution/ArtifactResolverPostProcessorSupport.java: ########## @@ -0,0 +1,64 @@ +package org.eclipse.aether.internal.impl.resolution; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.util.List; + +import org.eclipse.aether.RepositorySystemSession; +import org.eclipse.aether.resolution.ArtifactResult; +import org.eclipse.aether.spi.resolution.ArtifactResolverPostProcessor; +import org.eclipse.aether.util.ConfigUtils; + +import static java.util.Objects.requireNonNull; + +/** + * Support class to implement {@link ArtifactResolverPostProcessor}. + * + * @since TBD + */ +public abstract class ArtifactResolverPostProcessorSupport + implements ArtifactResolverPostProcessor +{ + private static final String CONFIG_PROP_PREFIX = "aether.artifactResolver.postProcessor."; Review Comment: Just a side comment. I wonder if anyone thought it would be a good idea to have a single source where to find configurable properties ? It looks like their definitions is scattered all around the code where they are actually used. So no single place to find out those. ########## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/checksum/SparseDirectoryTrustedChecksumsSource.java: ########## @@ -82,26 +83,16 @@ protected Map<String, String> performLookup( RepositorySystemSession session, ArtifactRepository artifactRepository, List<ChecksumAlgorithmFactory> checksumAlgorithmFactories ) { - final String prefix; - if ( isOriginAware( session ) ) - { - prefix = artifactRepository.getId() + "/"; - } - else - { - prefix = ""; - } - + final boolean originAware = isOriginAware( session ); final HashMap<String, String> checksums = new HashMap<>(); - final String artifactPath = localPathComposer.getPathForArtifact( artifact, false ); for ( ChecksumAlgorithmFactory checksumAlgorithmFactory : checksumAlgorithmFactories ) { Path checksumPath = basedir.resolve( - prefix + artifactPath + "." + checksumAlgorithmFactory.getFileExtension() ); + calculateArtifactPath( originAware, artifact, artifactRepository, checksumAlgorithmFactory ) ); if ( !Files.isRegularFile( checksumPath ) ) { - LOGGER.debug( "Artifact '{}' checksum '{}' not found in path '{}'", + LOGGER.debug( "Artifact `{}` trusted checksum '{}' not found on path '{}'", Review Comment: Are those non straight quotes introduced on purpose ? It seems everywhere else straight quotes are used. ########## maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/checksum/SparseDirectoryTrustedChecksumsSource.java: ########## @@ -117,9 +108,69 @@ protected Map<String, String> performLookup( RepositorySystemSession session, catch ( IOException e ) { // unexpected, log, skip - LOGGER.warn( "Could not read provided checksum for '{}' at path '{}'", artifact, checksumPath, e ); + LOGGER.warn( "Could not read `{}` trusted checksum on path '{}'", artifact, checksumPath, e ); Review Comment: Same here. > Resolver post-processor > ----------------------- > > Key: MRESOLVER-276 > URL: https://issues.apache.org/jira/browse/MRESOLVER-276 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver > Reporter: Tamas Cservenak > Assignee: Tamas Cservenak > Priority: Major > Fix For: resolver-next > > > Introduce new feature, resolver post-processor that is able to post process > resolution results just before artifact resolver returns them to caller. Post > processor should be able to signal resolution failure (along with errors) > just like existing resolution may fail. -- This message was sent by Atlassian Jira (v8.20.10#820010)