You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2023/11/10 12:43:00 UTC

[jira] [Commented] (MRESOLVER-157) Get rid of ServiceLocator in Resolver

    [ https://issues.apache.org/jira/browse/MRESOLVER-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784923#comment-17784923 ] 

ASF GitHub Bot commented on MRESOLVER-157:
------------------------------------------

cstamas closed pull request #88: [MRESOLVER-157] Drop ServiceLocator
URL: https://github.com/apache/maven-resolver/pull/88




> Get rid of ServiceLocator in Resolver
> -------------------------------------
>
>                 Key: MRESOLVER-157
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-157
>             Project: Maven Resolver
>          Issue Type: Task
>          Components: Resolver
>            Reporter: Tamas Cservenak
>            Assignee: Tamas Cservenak
>            Priority: Major
>             Fix For: 2.0.0, 2.0.0-alpha-1
>
>
> maven-resolver currently supports:
>  * ServiceLocator (deprecated as of 1.7.0 see MRESOLVER-160)
>  * "vanilla" Guice (provides a module)
>  * DI using Sisu, as used in Maven
> IMO, it makes not much sense to support 3 vastly different "DI"s (in quotes as ServiceLocator is really just a dumb factory pattern).
> Not only just complicates the code base, makes changes error prone at least, yields for "exceptions" (this or that will never work with it, as seen with SyncContext), and, for me most importantly, prevents proper constructor initialization and validation of components.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)