Cristiano
2018-09-25 00:17:05 UTC
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.
{
 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.
missing something ?
thanks a lot,
Cristiano
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.
   <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:Â Â Â Â Â Â Â <dependencies>
           <dependency>
<groupId>br.com.c8tech.releng</groupId>
               <version>2.1</version>
<artifactId>fpom-deps-osgi</artifactId>
               <scope>import</scope>
               <type>pom</type>
{
 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
[ERROR] Failed to determine Java version for profile
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
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
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[ERROR] Failed to determine Java version for profile
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
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
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
missing something ?
thanks a lot,
Cristiano