[ https://issues.apache.org/jira/browse/MRESOLVER-95?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov closed MRESOLVER-95. ----------------------------------- Fix Version/s: (was: waiting-for-feedback) Resolution: Incomplete No feedback provided. > Allow extending ChecksumPolicyProvider > -------------------------------------- > > Key: MRESOLVER-95 > URL: https://issues.apache.org/jira/browse/MRESOLVER-95 > Project: Maven Resolver > Issue Type: Improvement > Components: Resolver > Affects Versions: 1.4.1 > Reporter: Bence Sipka > Priority: Minor > > The ChecksumPolicyProvider interface is used to create the ChecksumPolicy > objects that define the behaviour to take in case of mismatching artifact > checksums. The ChecksumPolicyProvider class is documented as > {code:java} > @noimplement This interface is not intended to be implemented by clients. > @noextend This interface is not intended to be extended by clients.{code} > Please allow the extending and implementing this interface. > Justification: > The ChecksumPolicy interface is already implementable, as that doesn't > declare the above prohibition. However, the only implementation of > ChecksumPolicyProvider is DefaultChecksumPolicyProvider, that is a final > class, therefore doesn't allow customization of the checksum policies. This > makes the implementability of ChecksumPolicy void, as we cannot inject our > checksum policy implementations into the maven resolver system, as the > documentation prohibits it. > Use-case: > I'd like to use my own ChecksumPolicy that handles the ignore, warn, and > error cases and logs the errors into my custom output. The > AbstractChecksumPolicy superclass for the current implementations will always > use a Logger instance, however that is not usable in my environment. > In order to solve this, I'd like to be able to implement my own > ChecksumPolicyProvider that creates my custom ChecksumPolicy that logs the > errors and warnings to a custom location instead of using the Logger that > comes with AbstractChecksumPolicy . > Solution: > Remove the prohibition from the documentation of ChecksumPolicyProvider. > Workaround: > Implement ChecksumPolicyProvider nonetheless. -- This message was sent by Atlassian Jira (v8.3.4#803005)