hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15925) compat-module maven variable not evaluated
Date Fri, 08 Jul 2016 16:49:11 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15367959#comment-15367959

Sean Busbey commented on HBASE-15925:

hbase-testing-util version 1.2.1 has a problem, that has a dependency with a variable not
evaluated (it's the point of this ticket actually)

variables don't get evaluated until runtime. They're allowed in all parts of dependency coordinates.

so, a maven pom.xml which declares a dependency on hbase-testing-util version 1.2.1 should
fail, as it cannot download all of its dependencies.
however, maven does not fail (and it should) as I mentioned in a this post above. so, maybe
there is a bug on maven.

This is correct behavior (evaluating the variable at runtime, then getting said dependency),
which is why Maven works.

on the other hand, sbt complains if a project depends on hbase-testing-util version 1.2.1,
as it should.
and, sbt succeeds if a project depends on hbase-testing-util version 1.2.2, meaning that this
ticket has fixed the problem on hbase.
so, in this sense, there is possibly a bug on maven, not on sbt.

Well, I'm glad we agree that the proximal issue is solved. :)

The underlying bug is in sbt. It isn't properly activating profiles. In particular, we rely
on ["property isn't defined at invocation"|http://books.sonatype.com/mvnref-book/reference/profiles-sect-activation.html#profiles-sect-activation-by-absence]
activation to set a bunch of defaults around what version of hadoop gets used. ([this one
here in 1.2.2RC2|https://github.com/apache/hbase/blob/1.2.2RC2/pom.xml#L1935]).

This JIRA fixed the issue by ensuring we have defined defaults for all the needed properties
that match that default profile, so that when tools fail to activate the profiles we ask for
they get something that works-at-all.

> compat-module maven variable not evaluated
> ------------------------------------------
>                 Key: HBASE-15925
>                 URL: https://issues.apache.org/jira/browse/HBASE-15925
>             Project: HBase
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.0.3, 1.1.5
>            Reporter: Nick Dimiduk
>            Assignee: Sean Busbey
>            Priority: Blocker
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.2, 1.1.6
>         Attachments: HBASE-15925.1.patch
> Looks like we've regressed on HBASE-8488. Have a look at the dependency artifacts list
on http://mvnrepository.com/artifact/org.apache.hbase/hbase-testing-util/1.2.1. Notice the
direct dependency's artifactId is {{$\{compat.module\}}}.

This message was sent by Atlassian JIRA

View raw message