eitan-rosenberg commented on issue #11602:
URL: https://github.com/apache/maven/issues/11602#issuecomment-3694615687
Updates....
Works as advertised. 💯
I noticed annotation @Resolution, but no luck so far. Have you tried this?
Here is my code:
```
package myTestMojos;
import java.nio.file.Path;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import org.apache.maven.api.JavaPathType;
import org.apache.maven.api.Node;
import org.apache.maven.api.PathScope;
import org.apache.maven.api.PathType;
import org.apache.maven.api.Project;
import org.apache.maven.api.Session;
import org.apache.maven.api.di.Inject;
import org.apache.maven.api.plugin.MojoException;
import org.apache.maven.api.plugin.annotations.Mojo;
import org.apache.maven.api.plugin.annotations.Resolution;
import org.apache.maven.api.services.DependencyResolver;
import org.apache.maven.api.services.DependencyResolverRequest;
import org.apache.maven.api.services.DependencyResolverResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Mojo(name = "test")
public class MyTestMojo implements org.apache.maven.api.plugin.Mojo {
private static final Logger logger =
LoggerFactory.getLogger(MyTestMojo.class);
@Resolution()
Node node;
@Inject
private Project project;
@Inject
private Session session;
@Override
public void execute() throws MojoException {
{
logger.info(String.format("node %s", node));
}
logger.info(String.format("%s", ""));
{
final DependencyResolver resolver =
session.getService(DependencyResolver.class);
final DependencyResolverResult dependencies =
resolver.resolve(DependencyResolverRequest.builder()
.session(session).project(project).requestType(DependencyResolverRequest.RequestType.RESOLVE)
.pathScope(PathScope.MAIN_RUNTIME)
.pathTypeFilter(EnumSet.of(JavaPathType.CLASSES,
JavaPathType.MODULES)).build());
dependencies.getExceptions().forEach(exception -> {
logger.info(String.format("exception %s",
exception));
});
final Map<PathType, List<Path>> dispatchedPaths =
dependencies.getDispatchedPaths();
dispatchedPaths.entrySet().forEach(entry -> {
logger.info(String.format("PathType %s",
entry.getKey()));
entry.getValue().forEach(path -> {
logger.info(String.format("\t %s",
path));
});
});
}
}
}
```
--
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]