gnodet-bot commented on code in PR #12745:
URL: https://github.com/apache/maven/pull/12745#discussion_r4495853937


##########
api/maven-api-core/src/main/java/org/apache/maven/api/DependencyScope.java:
##########
@@ -85,6 +85,26 @@ public enum DependencyScope {
      */
     COMPILE("compile", true),
 
+    /**
+     * Compile, runtime and test, transitively exposed to consumers.
+     * Semantically equivalent to {@code compile}, but explicitly declares
+     * that this dependency forms part of the project's public API.
+     * Only valid for {@code modelVersion 4.2.0+}.
+     *
+     * @since 4.2.0
+     */
+    API("api", true),
+
+    /**
+     * Compile, runtime and test, but <em>not</em> transitively exposed to 
consumers.
+     * Use for dependencies that are internal implementation details.
+     * Mapped to {@code runtime} scope in consumer POMs for Maven 3 
compatibility.
+     * Only valid for {@code modelVersion 4.2.0+}.
+     *
+     * @since 4.2.0
+     */
+    IMPLEMENTATION("implementation", false),

Review Comment:
   🟢 **Style nit (from master merge)**: After `MNG-8752` landed on master, all 
sibling `DependencyScope` entries now follow the expanded Javadoc format:
   ```
   /**
    * Compile.
    * <p>
    * A dependency required for compiling, testing, and running the project.
    * Dependencies in this scope are available on all classpaths and are 
transitive.
    */
   ```
   
   The new `API` and `IMPLEMENTATION` entries still use the older compact style 
without the title + `<p>` separator. Consider aligning for consistency:
   ```suggestion
       /**
        * Api.
        * <p>
        * A dependency available on compile, runtime and test classpaths, 
transitively exposed to consumers.
        * Semantically equivalent to {@code compile}, but explicitly declares
        * that this dependency forms part of the project's public API.
        * Only valid for {@code modelVersion 4.2.0+}.
        *
        * @since 4.2.0
        */
       API("api", true),
   
       /**
        * Implementation.
        * <p>
        * A dependency available on compile, runtime and test classpaths, but 
<em>not</em> transitively exposed to consumers.
        * Use for dependencies that are internal implementation details.
        * Mapped to {@code runtime} scope in consumer POMs for Maven 3 
compatibility.
        * Only valid for {@code modelVersion 4.2.0+}.
        *
        * @since 4.2.0
        */
       IMPLEMENTATION("implementation", false),
   ```



-- 
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]

Reply via email to