Class RequestTraceHelper

java.lang.Object
org.apache.maven.impl.RequestTraceHelper

public final class RequestTraceHelper extends Object
Helper class to manage request tracing for improved error logging in Maven's dependency resolution. This class provides utilities to: - Track request traces through Maven's dependency resolution process - Convert between Maven and Resolver trace formats - Generate human-readable interpretations of trace data
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
    Represents a resolver trace containing both Maven and Resolver-specific trace information
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    enter(org.apache.maven.api.Session session, Object data)
    Creates a new trace entry and updates the session's current trace
    static void
    Restores the parent trace as the current trace in the session
    static String
    interpretTrace(boolean detailed, org.eclipse.aether.RequestTrace requestTrace)
    Creates a human-readable interpretation of a request trace
    static org.apache.maven.api.services.RequestTrace
    toMaven(String context, org.eclipse.aether.RequestTrace trace)
    Converts a Resolver trace to a Maven trace
    static org.eclipse.aether.RequestTrace
    toResolver(org.apache.maven.api.services.RequestTrace trace)
    Converts a Maven trace to a Resolver trace

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RequestTraceHelper

      public RequestTraceHelper()
  • Method Details

    • enter

      public static RequestTraceHelper.ResolverTrace enter(org.apache.maven.api.Session session, Object data)
      Creates a new trace entry and updates the session's current trace
      Parameters:
      session - The current Maven session
      data - The data object to associate with the trace
      Returns:
      A new ResolverTrace containing both Maven and Resolver trace information
    • exit

      public static void exit(RequestTraceHelper.ResolverTrace trace)
      Restores the parent trace as the current trace in the session
      Parameters:
      trace - The current resolver trace to exit from
    • toMaven

      public static org.apache.maven.api.services.RequestTrace toMaven(String context, org.eclipse.aether.RequestTrace trace)
      Converts a Resolver trace to a Maven trace
      Parameters:
      context - The context string for the new Maven trace
      trace - The Resolver trace to convert
      Returns:
      A new Maven trace, or null if the input trace was null
    • toResolver

      public static org.eclipse.aether.RequestTrace toResolver(org.apache.maven.api.services.RequestTrace trace)
      Converts a Maven trace to a Resolver trace
      Parameters:
      trace - The Maven trace to convert
      Returns:
      A new Resolver trace, or null if the input trace was null
    • interpretTrace

      public static String interpretTrace(boolean detailed, org.eclipse.aether.RequestTrace requestTrace)
      Creates a human-readable interpretation of a request trace
      Parameters:
      detailed - If true, includes additional details such as dependency paths
      requestTrace - The trace to interpret
      Returns:
      A string describing the trace context and relevant details