laeubi opened a new issue, #11299:
URL: https://github.com/apache/maven/issues/11299
### New feature, improvement proposal
Previously maven-core has contained some dependencies in compile scope for
example guice and javax.inject.
```
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.9.11</version>
</dependency>
```
results in the following list when used as a dependency:
```
The following files have been resolved:
org.apache.maven:maven-core:jar:3.9.11:compile -- module maven.core (auto)
org.apache.maven:maven-model:jar:3.9.11:compile -- module maven.model
(auto)
org.apache.maven:maven-settings:jar:3.9.11:compile -- module
maven.settings (auto)
org.apache.maven:maven-settings-builder:jar:3.9.11:compile -- module
maven.settings.builder (auto)
org.codehaus.plexus:plexus-sec-dispatcher:jar:2.0:compile -- module
plexus.sec.dispatcher (auto)
org.codehaus.plexus:plexus-cipher:jar:2.0:compile -- module plexus.cipher
(auto)
org.apache.maven:maven-builder-support:jar:3.9.11:compile -- module
maven.builder.support (auto)
org.apache.maven:maven-repository-metadata:jar:3.9.11:compile -- module
maven.repository.metadata (auto)
org.apache.maven:maven-artifact:jar:3.9.11:compile -- module
maven.artifact (auto)
org.apache.maven:maven-plugin-api:jar:3.9.11:compile -- module
maven.plugin.api (auto)
org.apache.maven:maven-model-builder:jar:3.9.11:compile -- module
maven.model.builder (auto)
org.apache.maven:maven-resolver-provider:jar:3.9.11:compile -- module
maven.resolver.provider (auto)
org.apache.maven.resolver:maven-resolver-impl:jar:1.9.24:compile --
module org.apache.maven.resolver.impl [auto]
org.apache.maven.resolver:maven-resolver-named-locks:jar:1.9.24:compile
-- module org.apache.maven.resolver.named.locks [auto]
org.apache.maven.resolver:maven-resolver-api:jar:1.9.24:compile -- module
org.apache.maven.resolver [auto]
org.apache.maven.resolver:maven-resolver-spi:jar:1.9.24:compile -- module
org.apache.maven.resolver.spi [auto]
org.apache.maven.resolver:maven-resolver-util:jar:1.9.24:compile --
module org.apache.maven.resolver.util [auto]
org.apache.maven.shared:maven-shared-utils:jar:3.4.2:compile -- module
maven.shared.utils (auto)
org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M4:compile -- module
org.eclipse.sisu.plexus (auto)
org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M4:compile -- module
org.eclipse.sisu.inject (auto)
org.ow2.asm:asm:jar:9.8:compile -- module org.objectweb.asm
com.google.inject:guice:jar:classes:5.1.0:compile -- module
com.google.guice [auto]
aopalliance:aopalliance:jar:1.0:compile -- module aopalliance (auto)
com.google.guava:guava:jar:33.4.8-jre:compile -- module com.google.common
org.jspecify:jspecify:jar:1.0.0:compile -- module org.jspecify
com.google.guava:failureaccess:jar:1.0.3:compile -- module
com.google.common.util.concurrent.internal
javax.inject:javax.inject:jar:1:compile -- module javax.inject (auto)
org.codehaus.plexus:plexus-utils:jar:3.6.0:compile -- module plexus.utils
(auto)
org.codehaus.plexus:plexus-classworlds:jar:2.9.0:compile -- module
plexus.classworlds (auto)
org.codehaus.plexus:plexus-interpolation:jar:1.28:compile -- module
plexus.interpolation (auto)
org.codehaus.plexus:plexus-component-annotations:jar:2.2.0:compile --
module plexus.component.annotations (auto)
org.slf4j:slf4j-api:jar:1.7.36:compile -- module org.slf4j [auto]
```
If I now upgrade and change the version to
```
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>4.0.0-rc-4</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>4.0.0-rc-4</version>
</dependency>
```
I would expect no compile / runtime problems but e.g. I get compile problems
because `javax.inject` is missing and at least guice seems to be required for
using maven-plugin-testing, there are might be even more.
As it is quite cumbersome to find out what might be missing, I would like to
ask to add all dependencies that where previously provided as compile time as
well in the `maven-compat` layer for maximum compatibility. These should then
explicitly being marked with a comment `<!-- only for backward compatibility
-->` to prevent them from being accidentally being removed and to make it
easier for people to se what they might need during the migration.
For reference I made a `dependency:list` of the current state,
`slf4j-api:1.7.36` can be seen as already there as the 2.x variant is compile
compatible, but the rest needs to be checked and possible added added:
```
The following files have been resolved:
org.apache.maven:maven-core:jar:4.0.0-rc-4:compile -- module maven.core
(auto)
org.apache.maven:maven-api-annotations:jar:4.0.0-rc-4:compile -- module
maven.api.annotations (auto)
org.apache.maven:maven-api-core:jar:4.0.0-rc-4:compile -- module
maven.api.core (auto)
org.apache.maven:maven-api-di:jar:4.0.0-rc-4:compile -- module
maven.api.di (auto)
org.apache.maven:maven-api-metadata:jar:4.0.0-rc-4:compile -- module
maven.api.metadata (auto)
org.apache.maven:maven-api-model:jar:4.0.0-rc-4:compile -- module
maven.api.model (auto)
org.apache.maven:maven-api-plugin:jar:4.0.0-rc-4:compile -- module
maven.api.plugin (auto)
org.apache.maven:maven-api-settings:jar:4.0.0-rc-4:compile -- module
maven.api.settings (auto)
org.apache.maven:maven-api-spi:jar:4.0.0-rc-4:compile -- module
maven.api.spi (auto)
org.apache.maven:maven-api-toolchain:jar:4.0.0-rc-4:compile -- module
maven.api.toolchain (auto)
org.apache.maven:maven-api-xml:jar:4.0.0-rc-4:compile -- module
maven.api.xml (auto)
org.apache.maven:maven-di:jar:4.0.0-rc-4:compile -- module maven.di (auto)
org.apache.maven:maven-impl:jar:4.0.0-rc-4:compile -- module maven.impl
(auto)
org.apache.maven:maven-support:jar:4.0.0-rc-4:compile -- module
maven.support (auto)
com.fasterxml.woodstox:woodstox-core:jar:7.1.1:compile -- module
com.ctc.wstx
org.codehaus.woodstox:stax2-api:jar:4.2.2:compile -- module
org.codehaus.stax2
org.apache.maven.resolver:maven-resolver-named-locks:jar:2.0.9:compile --
module org.apache.maven.resolver.named.locks [auto]
org.apache.maven.resolver:maven-resolver-connector-basic:jar:2.0.9:compile --
module org.apache.maven.resolver.connector.basic [auto]
org.codehaus.plexus:plexus-sec-dispatcher:jar:4.1.0:compile -- module
plexus.sec.dispatcher (auto)
org.apache.maven:maven-jline:jar:4.0.0-rc-4:compile -- module maven.jline
(auto)
org.jline:jline-reader:jar:3.30.4:compile -- module org.jline.reader
[auto]
org.jline:jline-style:jar:3.30.4:compile -- module org.jline.style [auto]
org.jline:jline-builtins:jar:3.30.4:compile -- module org.jline.builtins
[auto]
org.jline:jline-console:jar:3.30.4:compile -- module org.jline.console
[auto]
org.jline:jline-console-ui:jar:3.30.4:compile -- module
org.jline.consoleui [auto]
org.jline:jline-terminal:jar:3.30.4:compile -- module org.jline.terminal
[auto]
org.jline:jline-native:jar:3.30.4:compile -- module org.jline.nativ [auto]
org.jline:jline-terminal-jni:jar:3.30.4:compile -- module
org.jline.terminal.jni [auto]
org.jline:jansi-core:jar:3.30.4:compile -- module org.jansi.core [auto]
org.apache.maven:maven-logging:jar:4.0.0-rc-4:compile -- module
maven.logging (auto)
org.apache.maven:maven-xml:jar:4.0.0-rc-4:compile -- module maven.xml
(auto)
org.apache.maven:maven-artifact:jar:4.0.0-rc-4:compile -- module
maven.artifact (auto)
org.apache.maven:maven-model:jar:4.0.0-rc-4:compile -- module maven.model
(auto)
org.apache.maven:maven-model-builder:jar:4.0.0-rc-4:compile -- module
maven.model.builder (auto)
org.apache.maven:maven-builder-support:jar:4.0.0-rc-4:compile -- module
maven.builder.support (auto)
org.apache.maven:maven-plugin-api:jar:4.0.0-rc-4:compile -- module
maven.plugin.api (auto)
org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M4:compile -- module
org.eclipse.sisu.plexus (auto)
org.apache.maven:maven-repository-metadata:jar:4.0.0-rc-4:compile --
module maven.repository.metadata (auto)
org.apache.maven:maven-settings:jar:4.0.0-rc-4:compile -- module
maven.settings (auto)
org.apache.maven:maven-toolchain-model:jar:4.0.0-rc-4:compile -- module
maven.toolchain.model (auto)
org.apache.maven.resolver:maven-resolver-api:jar:2.0.9:compile -- module
org.apache.maven.resolver
org.apache.maven.resolver:maven-resolver-spi:jar:2.0.9:compile -- module
org.apache.maven.resolver.spi
com.google.code.gson:gson:jar:2.13.1:compile -- module com.google.gson
org.apache.maven.resolver:maven-resolver-util:jar:2.0.9:compile -- module
org.apache.maven.resolver.util
org.apache.maven.resolver:maven-resolver-impl:jar:2.0.9:compile -- module
org.apache.maven.resolver.impl [auto]
org.slf4j:slf4j-api:jar:2.0.17:compile -- module org.slf4j
org.codehaus.plexus:plexus-classworlds:jar:2.9.0:compile -- module
plexus.classworlds (auto)
org.codehaus.plexus:plexus-xml:jar:4.1.0:compile -- module plexus.xml
(auto)
org.apache.maven:maven-compat:jar:4.0.0-rc-4:compile -- module
maven.compat (auto)
org.apache.maven:maven-settings-builder:jar:4.0.0-rc-4:compile -- module
maven.settings.builder (auto)
org.apache.maven:maven-toolchain-builder:jar:4.0.0-rc-4:compile -- module
maven.toolchain.builder (auto)
org.apache.maven:maven-resolver-provider:jar:4.0.0-rc-4:compile -- module
maven.resolver.provider (auto)
org.apache.maven.resolver:maven-resolver-transport-file:jar:2.0.9:compile
-- module org.apache.maven.resolver.transport.file [auto]
org.apache.maven.resolver:maven-resolver-transport-apache:jar:2.0.9:compile --
module org.apache.maven.resolver.transport.apache [auto]
org.apache.httpcomponents:httpclient:jar:4.5.14:compile -- module
org.apache.httpcomponents.httpclient [auto]
org.apache.httpcomponents:httpcore:jar:4.4.16:compile -- module
org.apache.httpcomponents.httpcore [auto]
commons-codec:commons-codec:jar:1.18.0:runtime -- module
org.apache.commons.codec
org.slf4j:jcl-over-slf4j:jar:2.0.17:runtime -- module
org.apache.commons.logging
org.codehaus.plexus:plexus-interactivity-api:jar:1.4:compile -- module
plexus.interactivity.api (auto)
org.codehaus.plexus:plexus-interpolation:jar:1.28:compile -- module
plexus.interpolation (auto)
org.apache.maven.wagon:wagon-provider-api:jar:3.5.3:compile -- module
wagon.provider.api (auto)
org.codehaus.plexus:plexus-utils:jar:4.0.2:compile -- module plexus.utils
(auto)
org.codehaus.plexus:plexus-component-annotations:jar:2.1.0:compile --
module plexus.component.annotations (auto)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]