You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@yetus.apache.org by Michael Kobit <mk...@gmail.com> on 2016/08/17 14:44:39 UTC

Unable to consume annotations when using Gradle

I'm not sure what happens with Maven, but when trying to consume when using
Gradle 3.0 I get an error message about unresolved POM dependency.

> Could not resolve org.apache.yetus:audience-annotations:0.3.0.
   > Could not parse POM
https://repo1.maven.org/maven2/org/apache/yetus/audience-annotations/0.3.0/audience-annotations-0.3.0.pom
      > Unable to resolve version for dependency 'jdk.tools:jdk.tools:jar'
> Could not resolve org.apache.yetus:audience-annotations:0.3.0.
   > Could not parse POM
https://repo.gradle.org/gradle/repo/org/apache/yetus/audience-annotations/0.3.0/audience-annotations-0.3.0.pom
      > Unable to resolve version for dependency 'jdk.tools:jdk.tools:jar'


Any thoughts around this?

Re: Unable to consume annotations when using Gradle

Posted by Sean Busbey <bu...@apache.org>.
It sounds like gradle is bailing not because it can't find the dependency,
but because it doesn't know enough about it.

The version for the jdk.tools dependency is set by our project pom, in
jdk-specific profiles:

https://github.com/apache/yetus/blob/rel/0.3.0/yetus-project/pom.xml#L128

This is because the JDK tools jar is supposed to match up with the jdk
you're building with.

It sounds like gradle isn't properly activating these profiles. Does gradle
have a debug mode to show what profiles are active?

On Wed, Aug 17, 2016 at 12:10 PM, Chris Nauroth <cn...@hortonworks.com>
wrote:

> Hello Michael,
>
> The jdk.tools dependency is marked optional in the audience-annotations
> pom.xml file:
>
>     <dependency>
>       <!-- Version and location set in project pom -->
>       <groupId>jdk.tools</groupId>
>       <artifactId>jdk.tools</artifactId>
>       <scope>system</scope>
>       <!-- Mark as optional so that it isn't taken transitively -->
>       <optional>true</optional>
>     </dependency>
>
> That should have the effect of filtering the jdk.tools dependency out of
> your project.  I just tried setting up a minimal Maven project, and it
> worked as expected.  The build passed, and “mvn dependency:tree” showed no
> transitive dependency on jdk.tools.
>
> Is there something about your Gradle build that would cause it to
> “promote” jdk.tools to a transitive dependency, even though it’s marked
> optional here?
>
> --Chris Nauroth
>
> On 8/17/16, 7:44 AM, "Michael Kobit" <mk...@gmail.com> wrote:
>
>     I'm not sure what happens with Maven, but when trying to consume when
> using
>     Gradle 3.0 I get an error message about unresolved POM dependency.
>
>     > Could not resolve org.apache.yetus:audience-annotations:0.3.0.
>        > Could not parse POM
>     https://repo1.maven.org/maven2/org/apache/yetus/
> audience-annotations/0.3.0/audience-annotations-0.3.0.pom
>           > Unable to resolve version for dependency
> 'jdk.tools:jdk.tools:jar'
>     > Could not resolve org.apache.yetus:audience-annotations:0.3.0.
>        > Could not parse POM
>     https://repo.gradle.org/gradle/repo/org/apache/yetus/
> audience-annotations/0.3.0/audience-annotations-0.3.0.pom
>           > Unable to resolve version for dependency
> 'jdk.tools:jdk.tools:jar'
>
>
>     Any thoughts around this?
>
>
>

Re: Unable to consume annotations when using Gradle

Posted by Chris Nauroth <cn...@hortonworks.com>.
Hello Michael,

The jdk.tools dependency is marked optional in the audience-annotations pom.xml file:

    <dependency>
      <!-- Version and location set in project pom -->
      <groupId>jdk.tools</groupId>
      <artifactId>jdk.tools</artifactId>
      <scope>system</scope>
      <!-- Mark as optional so that it isn't taken transitively -->
      <optional>true</optional>
    </dependency>

That should have the effect of filtering the jdk.tools dependency out of your project.  I just tried setting up a minimal Maven project, and it worked as expected.  The build passed, and “mvn dependency:tree” showed no transitive dependency on jdk.tools.

Is there something about your Gradle build that would cause it to “promote” jdk.tools to a transitive dependency, even though it’s marked optional here?

--Chris Nauroth

On 8/17/16, 7:44 AM, "Michael Kobit" <mk...@gmail.com> wrote:

    I'm not sure what happens with Maven, but when trying to consume when using
    Gradle 3.0 I get an error message about unresolved POM dependency.
    
    > Could not resolve org.apache.yetus:audience-annotations:0.3.0.
       > Could not parse POM
    https://repo1.maven.org/maven2/org/apache/yetus/audience-annotations/0.3.0/audience-annotations-0.3.0.pom
          > Unable to resolve version for dependency 'jdk.tools:jdk.tools:jar'
    > Could not resolve org.apache.yetus:audience-annotations:0.3.0.
       > Could not parse POM
    https://repo.gradle.org/gradle/repo/org/apache/yetus/audience-annotations/0.3.0/audience-annotations-0.3.0.pom
          > Unable to resolve version for dependency 'jdk.tools:jdk.tools:jar'
    
    
    Any thoughts around this?