[ 
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:
-------------------------------------

{quote}
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)
http://mvnrepository.com/artifact/org.apache.hbase/hbase-testing-util/1.2.1
{quote}

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

{quote}
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.
https://issues.apache.org/jira/browse/HBASE-15925?focusedCommentId=15367707&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15367707
{quote}

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

{quote}
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.
{quote}

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
(v6.3.4#6332)

Reply via email to