This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch maven-4.0.x
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/maven-4.0.x by this push:
new 8f0090b11c Restore constructors and chained setters on deprecated
testing stubs
8f0090b11c is described below
commit 8f0090b11c865b561cf2406163b29f0dba38ad8c
Author: Sylwester Lachiewicz <[email protected]>
AuthorDate: Sat Oct 24 15:56:08 2026 +0200
Restore constructors and chained setters on deprecated testing stubs
---
.../api/plugin/testing/stubs/ArtifactStub.java | 8 +-
.../api/plugin/testing/stubs/ProjectStub.java | 87 +++++++++++++++++++++-
.../api/plugin/testing/stubs/SessionStub.java | 20 ++++-
.../plugin/testing/stubs/ArtifactStubTest.java} | 21 +++++-
.../api/plugin/testing/stubs/ProjectStubTest.java} | 26 ++++++-
.../api/plugin/testing/stubs/SessionStubTest.java} | 22 +++++-
6 files changed, 172 insertions(+), 12 deletions(-)
diff --git
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
index 91f5b4175e..bf8bd09c21 100644
---
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
+++
b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
@@ -20,4 +20,10 @@
/** @deprecated Use {@link org.apache.maven.testing.plugin.stubs.ArtifactStub}
instead */
@Deprecated(since = "4.0.0-rc-6", forRemoval = true)
-public class ArtifactStub extends
org.apache.maven.testing.plugin.stubs.ArtifactStub {}
+public class ArtifactStub extends
org.apache.maven.testing.plugin.stubs.ArtifactStub {
+ public ArtifactStub() {}
+
+ public ArtifactStub(String groupId, String artifactId, String classifier,
String version, String extension) {
+ super(groupId, artifactId, classifier, version, extension);
+ }
+}
diff --git
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java
b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java
index 4d31732729..9bb97f6388 100644
---
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java
+++
b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java
@@ -18,6 +18,91 @@
*/
package org.apache.maven.api.plugin.testing.stubs;
+import java.nio.file.Path;
+
+import org.apache.maven.api.ProducedArtifact;
+
/** @deprecated Use {@link org.apache.maven.testing.plugin.stubs.ProjectStub}
instead */
@Deprecated(since = "4.0.0-rc-6", forRemoval = true)
-public class ProjectStub extends
org.apache.maven.testing.plugin.stubs.ProjectStub {}
+public class ProjectStub extends
org.apache.maven.testing.plugin.stubs.ProjectStub {
+ // The setters are overridden with a covariant return type so that chained
calls
+ // keep returning this deprecated type, as they did before the relocation.
+
+ @Override
+ public ProjectStub setBasedir(Path basedir) {
+ super.setBasedir(basedir);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setGroupId(String groupId) {
+ super.setGroupId(groupId);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setArtifactId(String artifactId) {
+ super.setArtifactId(artifactId);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setVersion(String version) {
+ super.setVersion(version);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setName(String name) {
+ super.setName(name);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setDescription(String desc) {
+ super.setDescription(desc);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setPackaging(String packaging) {
+ super.setPackaging(packaging);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setMainArtifact(ProducedArtifact mainArtifact) {
+ super.setMainArtifact(mainArtifact);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setPomPath(Path pomPath) {
+ super.setPomPath(pomPath);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setTopProject(boolean topProject) {
+ super.setTopProject(topProject);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setMavenModel(org.apache.maven.model.Model model) {
+ super.setMavenModel(model);
+ return this;
+ }
+
+ @Override
+ public ProjectStub setRootDirectory(Path rootDirectory) {
+ super.setRootDirectory(rootDirectory);
+ return this;
+ }
+
+ @Override
+ public ProjectStub addProperty(String key, String value) {
+ super.addProperty(key, value);
+ return this;
+ }
+}
diff --git
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java
b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java
index 2eef77ffcd..557d3c1ce4 100644
---
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java
+++
b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java
@@ -18,6 +18,24 @@
*/
package org.apache.maven.api.plugin.testing.stubs;
+import java.util.Map;
+
+import org.apache.maven.api.settings.Settings;
+
/** @deprecated Use {@link org.apache.maven.testing.plugin.stubs.SessionStub}
instead */
@Deprecated(since = "4.0.0-rc-6", forRemoval = true)
-public class SessionStub extends
org.apache.maven.testing.plugin.stubs.SessionStub {}
+public class SessionStub extends
org.apache.maven.testing.plugin.stubs.SessionStub {
+ public SessionStub() {}
+
+ public SessionStub(Settings settings) {
+ super(settings);
+ }
+
+ public SessionStub(Map<String, String> userProperties) {
+ super(userProperties);
+ }
+
+ public SessionStub(Map<String, String> systemProperties, Map<String,
String> userProperties, Settings settings) {
+ super(systemProperties, userProperties, settings);
+ }
+}
diff --git
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStubTest.java
similarity index 58%
copy from
impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
copy to
impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStubTest.java
index 91f5b4175e..228aa45573 100644
---
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
+++
b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStubTest.java
@@ -18,6 +18,21 @@
*/
package org.apache.maven.api.plugin.testing.stubs;
-/** @deprecated Use {@link org.apache.maven.testing.plugin.stubs.ArtifactStub}
instead */
-@Deprecated(since = "4.0.0-rc-6", forRemoval = true)
-public class ArtifactStub extends
org.apache.maven.testing.plugin.stubs.ArtifactStub {}
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+class ArtifactStubTest {
+
+ @Test
+ @SuppressWarnings("removal")
+ void deprecatedConstructorRemainsSourceCompatible() {
+ ArtifactStub artifact = new ArtifactStub("group", "artifact", "tests",
"1.0", "jar");
+
+ assertEquals("group", artifact.getGroupId());
+ assertEquals("artifact", artifact.getArtifactId());
+ assertEquals("tests", artifact.getClassifier());
+ assertEquals("1.0", artifact.getVersion().toString());
+ assertEquals("jar", artifact.getExtension());
+ }
+}
diff --git
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/ProjectStubTest.java
similarity index 52%
copy from
impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
copy to
impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/ProjectStubTest.java
index 91f5b4175e..a69c7d7b23 100644
---
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
+++
b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/ProjectStubTest.java
@@ -18,6 +18,26 @@
*/
package org.apache.maven.api.plugin.testing.stubs;
-/** @deprecated Use {@link org.apache.maven.testing.plugin.stubs.ArtifactStub}
instead */
-@Deprecated(since = "4.0.0-rc-6", forRemoval = true)
-public class ArtifactStub extends
org.apache.maven.testing.plugin.stubs.ArtifactStub {}
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+class ProjectStubTest {
+
+ @Test
+ @SuppressWarnings("removal")
+ void chainedSettersKeepTheDeprecatedType() {
+ ProjectStub project = new ProjectStub()
+ .setGroupId("group")
+ .setArtifactId("artifact")
+ .setVersion("1.0")
+ .setPackaging("jar")
+ .addProperty("key", "value");
+
+ assertEquals("group", project.getGroupId());
+ assertEquals("artifact", project.getArtifactId());
+ assertEquals("1.0", project.getVersion());
+ assertEquals("jar", project.getPackaging().id());
+ assertEquals("value", project.getModel().getProperties().get("key"));
+ }
+}
diff --git
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/SessionStubTest.java
similarity index 58%
copy from
impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
copy to
impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/SessionStubTest.java
index 91f5b4175e..624ffbe1ee 100644
---
a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/ArtifactStub.java
+++
b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/stubs/SessionStubTest.java
@@ -18,6 +18,22 @@
*/
package org.apache.maven.api.plugin.testing.stubs;
-/** @deprecated Use {@link org.apache.maven.testing.plugin.stubs.ArtifactStub}
instead */
-@Deprecated(since = "4.0.0-rc-6", forRemoval = true)
-public class ArtifactStub extends
org.apache.maven.testing.plugin.stubs.ArtifactStub {}
+import java.util.Map;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+class SessionStubTest {
+
+ @Test
+ @SuppressWarnings("removal")
+ void deprecatedConstructorsRemainSourceCompatible() {
+ SessionStub session = new SessionStub(Map.of("sys", "a"),
Map.of("user", "b"), null);
+
+ assertEquals("a", session.getSystemProperties().get("sys"));
+ assertEquals("b", session.getUserProperties().get("user"));
+ assertEquals(
+ "c", new SessionStub(Map.of("user",
"c")).getUserProperties().get("user"));
+ }
+}