[ https://issues.apache.org/jira/browse/MDEP-876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov closed MDEP-876. ------------------------------- Resolution: Invalid Wrong forum. > 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)