gnodet-bot commented on code in PR #12695:
URL: https://github.com/apache/maven/pull/12695#discussion_r4050898070
##########
api/maven-api-core/src/main/java/org/apache/maven/api/plugin/Log.java:
##########
@@ -38,49 +38,38 @@
public interface Log {
/**
* {@return true if the <b>trace</b> error level is enabled}
- * <p>
- * The default implementation returns {@code false} for backward
- * compatibility with existing {@code Log} implementations.
+ * @since 4.1.0
*/
- default boolean isTraceEnabled() {
- return false;
- }
+ boolean isTraceEnabled();
Review Comment:
**[High, RERAISED] `Log.java` still removes `default` from all 6 trace
methods — binary-incompatible breaking change.**
The base branch (`feature/logging-foundation`) declares all trace methods as
`default` no-ops:
```java
default boolean isTraceEnabled() { return false; }
default void trace(CharSequence content) {}
default void trace(CharSequence content, Throwable error) {}
default void trace(Throwable error) {}
default void trace(Supplier<String> content) {}
default void trace(Supplier<String> content, Throwable error) {}
```
This PR drops `default`, making them **abstract again** — even though the
Javadoc for `trace(Supplier<String>)` still says "The default implementation is
a no-op for backward compatibility." Any third-party plugin that already
implemented `Log` will get `AbstractMethodError` at runtime.
The squash did not fix this. The `default` keyword must be restored on all
six methods.
--
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]