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

Michael Osipov commented on MDEP-876:
-------------------------------------

d...@maven.apache.org

> Potential Improvement for Maven
> -------------------------------
>
>                 Key: MDEP-876
>                 URL: https://issues.apache.org/jira/browse/MDEP-876
>             Project: Maven Dependency Plugin
>          Issue Type: Improvement
>            Reporter: NRYet
>            Priority: Minor
>
> Dear Maven maintainers, we are studying Maven dependency specifications and 
> we would like to offer several possible improvements for Maven.
> (1) The scope management of Maven is complicated and hard to distinguish. 
> Maven maintained 6 scopes (i.e., {_}compile{_}, {_}runtime{_}, 
> {_}provided{_}, {_}system{_}, {_}test{_}, and {_}import{_}). Compare to newer 
> package managers such as NPM, which only has two scopes (i.e., 
> {_}dependencies{_}, {_}devdependencies{_}), Maven has too many types of 
> scopes, which makes it more difficult for users to understand. We went over 
> all POMs on the Maven Central (around 8M artifacts, collected in March 2022) 
> and count the frequency of all types of scope. Some of the scopes are rarely 
> used. Only 0.35% of POMs in the Maven Center used _system_ scope. Also, 
> _system_ scope is similar to _provided_ scope, and _import_ scope can hardly 
> be regarded as a dependency scope. We suggest simplifying the types of scopes 
> by merging _system_ into _provided_ and removing {_}import{_}.
> (2) In the documentation of Default Artifact Handlers 
> ([https://maven.apache.org/ref/3.9.3/maven-core/artifact-handlers.html]), 
> _type_ and _classifier_ should introduce more commonly used values as their 
> default value to provide better examples. We found that the default values 
> are rarely used and are not good examples for users to understand the use of 
> the settings. Setting commonly used values as default can help users 
> understand the usage of the settings. We went over all POMs on the Maven 
> Central (around 8M artifacts, collected in March 2022) and count the 
> frequency of all possible values of classifier and type. According to our 
> research, in {_}classifier{_}, the default values have low frequencies, 
> including _tests_ (1.05%), _javadoc_ (0.35%), _sources_ (0.29%), and 
> {_}client{_}(0.01%). More commonly used values are _features_ (1.20%), 
> _linux-x86_64_ (0.34%), and _osx-x86_64_ (0.27%). As for type, the top 
> default values are _pom_ (4.38%), _test-jar_ (2.85%), _war_ (1.08%) and the 
> rest of the values are all below 0.1%. Other common examples are _esa_ 
> (2.53%), _zip_ (1.88%), and _xml_ (1.31%).



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

Reply via email to