Howdy,

That's cool, thanks for the feedback.

(1) the system scope is deprecated since Maven 3 (2010?), and since similar
timeframe, it is not allowed to deploy artifacts using system scope to
Maven Central anymore, see
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#system-dependencies

(2) OTOH, around same time, deployment of sources and javadoc became
mandatory (exclusions are AFAIK some non fully OSS artifacts that allow
distribution via Maven Central) but in general, Maven itself defines
"common types" supported by Maven Core, while this system is extensible and
is extended by various plugins and extensions. Core defined ones are
intentionally kept at minimum.

HTH
T

On Sat, Jul 1, 2023, 08:11 #ZHAO LIDA# <lida...@e.ntu.edu.sg.invalid> wrote:

> 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%).
>
>
> Regards,
>
> NTU CSL
>
>

Reply via email to