diff --git a/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java index 368827853a35..4a64c009a2a6 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -408,7 +408,22 @@ private void persistResumptionData(MavenExecutionResult result, MavenSession ses */ @Deprecated public RepositorySystemSession newRepositorySession(MavenExecutionRequest request) { - return newCloseableSession(request, new MavenChainedWorkspaceReader()); + if (!Boolean.parseBoolean(System.getProperty("maven.newRepositorySession.warningsDisabled", "false"))) { + if (logger.isDebugEnabled()) { + logger.warn( + "Deprecated method `DefaultMaven#newRepositorySession(MavenExecutionRequest)` invoked; please inspect the stack trace and report this issue to the authors of the caller code", + new IllegalStateException( + "Deprecated method `DefaultMaven#newRepositorySession(MavenExecutionRequest)` invoked")); + } else { + logger.warn( + "Deprecated method `DefaultMaven#newRepositorySession(MavenExecutionRequest)` invoked; report this issue to the authors of the caller code (use -X to see stack trace)"); + } + } + RepositorySystemSession result = newCloseableSession(request, new MavenChainedWorkspaceReader()); + MavenSession session = new MavenSession(result, request, new DefaultMavenExecutionResult()); + result.getData().set(MavenSession.class, session); // for legacy code to grab this + session.setSession(defaultSessionFactory.newSession(session)); + return result; } private CloseableSession newCloseableSession(MavenExecutionRequest request, WorkspaceReader workspaceReader) {