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