This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new 24eee1f8e6 Add a SpiService marker interface (#1427)
24eee1f8e6 is described below

commit 24eee1f8e66a3c8e9baaceb2d83edfeb14a6d121
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Thu Feb 29 00:32:09 2024 +0100

    Add a SpiService marker interface (#1427)
---
 .../org/apache/maven/api/spi/ExtensibleEnumProvider.java  |  2 +-
 .../main/java/org/apache/maven/api/spi/ModelParser.java   |  2 +-
 .../org/apache/maven/api/spi/PropertyContributor.java     |  2 +-
 .../spi/{ExtensibleEnumProvider.java => SpiService.java}  | 15 ++++++++-------
 4 files changed, 11 insertions(+), 10 deletions(-)

diff --git 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
 
b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
index 514651088a..b81554bc86 100644
--- 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
+++ 
b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
@@ -22,7 +22,7 @@ import java.util.Collection;
 
 import org.apache.maven.api.ExtensibleEnum;
 
-public interface ExtensibleEnumProvider<T extends ExtensibleEnum> {
+public interface ExtensibleEnumProvider<T extends ExtensibleEnum> extends 
SpiService {
 
     Collection<T> provides();
 }
diff --git 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ModelParser.java 
b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ModelParser.java
index 68d8097ba1..73e884fbc9 100644
--- a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ModelParser.java
+++ b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ModelParser.java
@@ -33,7 +33,7 @@ import org.apache.maven.api.services.Source;
  * This allows plugging in additional syntaxes for the main model read by 
Maven when building a project.
  */
 @Experimental
-public interface ModelParser {
+public interface ModelParser extends SpiService {
 
     /**
      * Locates the pom in the given directory.
diff --git 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/PropertyContributor.java
 
b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/PropertyContributor.java
index 40523efee4..b29a0cc061 100644
--- 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/PropertyContributor.java
+++ 
b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/PropertyContributor.java
@@ -27,7 +27,7 @@ import org.apache.maven.api.annotations.Experimental;
  * very early, while there is no session created yet.
  */
 @Experimental
-public interface PropertyContributor {
+public interface PropertyContributor extends SpiService {
     /**
      * Invoked just before session is created with a mutable map that carries 
collected user properties so far.
      *
diff --git 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
 b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/SpiService.java
similarity index 76%
copy from 
api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
copy to api/maven-api-spi/src/main/java/org/apache/maven/api/spi/SpiService.java
index 514651088a..ba5259639b 100644
--- 
a/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/ExtensibleEnumProvider.java
+++ b/api/maven-api-spi/src/main/java/org/apache/maven/api/spi/SpiService.java
@@ -18,11 +18,12 @@
  */
 package org.apache.maven.api.spi;
 
-import java.util.Collection;
+import org.apache.maven.api.annotations.Consumer;
+import org.apache.maven.api.annotations.Experimental;
 
-import org.apache.maven.api.ExtensibleEnum;
-
-public interface ExtensibleEnumProvider<T extends ExtensibleEnum> {
-
-    Collection<T> provides();
-}
+/**
+ * Marker interface to indicate services that can be provided by plugins and 
extensions.
+ */
+@Experimental
+@Consumer
+public interface SpiService {}

Reply via email to