Hello, I need some assistance in order to identify whether the issue I'm facing is a bug or a missing feature.

I'm adding a goal to my plugin that must read a POM project from a repository and get details about the dependencies declared on it.

In order to build the POM object I've created the method below that are using Core's org.apache.maven.project.ProjectBuilder:


            public MavenProject loadProject(Artifact artifact,
       MavenSession session,
                    boolean pResolveDependencies) throws
       ProjectBuildingException {
                ProjectBuildingRequest request = new
       DefaultProjectBuildingRequest();
       request.setLocalRepository(session.getLocalRepository());
                request.setRemoteRepositories(
       session.getCurrentProject().getRemoteArtifactRepositories());
                request.setResolveDependencies(pResolveDependencies);
       request.setRepositorySession(session.getRepositorySession());
                request.setInactiveProfileIds(
       Arrays.asList("when-building-java-using-java8"));  ---> I added
       this in order to try no get one of the errors reported.
                return projectBuilder.build(artifact,
       request).getProject();
            }


   In order to test it I'm trying to read this [pom]
   
https://search.maven.org/classic/#artifactdetails%7Cbr.com.c8tech.releng%7Cfpom-deps-felix%7C2.1%7Cpom.

   This POM has declared a POM fragment:

        <dependencyManagement>
            <dependencies>
                <dependency>
    <groupId>br.com.c8tech.releng</groupId>
                    <version>2.1</version>
    <artifactId>fpom-deps-osgi</artifactId>
                    <scope>import</scope>
                    <type>pom</type>

   And I'm using this code:

       {

         pom = loadProject(
                            new
       DefaultArtifact("br.com.c8tech.releng:fpom-deps-felix:pom:2.1"),
                            true);

       }

   The error I'm getting from ProjectBuilder is about not being able to
   get the versions declared in the imported POM ( declared in its
   dependencyManagement) and also not being able to determine the Java
   version of a profile activated by <jdk> property.


    Caused by: org.apache.maven.project.ProjectBuildingException: Some
    problems were encountered while processing the POMs:
    [ERROR] Failed to determine Java version for profile
    when-building-java-using-java8 @
    br.com.c8tech.releng:maven-parent-java:2.1,
    
/home/cvgaviao/.m2/repository/br/com/c8tech/releng/maven-parent-java/2.1/maven-parent-java-2.1.pom,
    line 658, column 22
    [ERROR] 'dependencies.dependency.version' for
    net.java.dev.jna:jna:jar is missing. @
    br.com.c8tech.releng:fpom-deps-felix:[unknown-version],
    
/home/cvgaviao/.m2/repository/br/com/c8tech/releng/fpom-deps-felix/2.1/fpom-deps-felix-2.1.pom,
    line 329, column 21
    [ERROR] 'dependencies.dependency.version' for
    ch.qos.logback:logback-core:jar is missing. @
    br.com.c8tech.releng:fpom-deps-felix:[unknown-version],
    
/home/cvgaviao/.m2/repository/br/com/c8tech/releng/fpom-deps-felix/2.1/fpom-deps-felix-2.1.pom,
    line 337, column 21

could someone tell me if its a missing feature, a bug or maybe am I missing something ?


thanks a lot,


Cristiano

Reply via email to