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

Jerry He commented on HBASE-16370:
----------------------------------

hbase-annotations has a dependency on the jdk tools.jar.
Exactly, we don't ship it. There is no need to check it for bytecode version, 
at least not from the original purpose of the Bytecode Version enforcer.
The Bytecode Version enforcer's purpose is not for checking API compatibility 
either, right?  

On the other hand, my argument or incentive to do this change is not persuasive 
probably?

> Exclude jdk tools.jar from Bytecode Version enforcer
> ----------------------------------------------------
>
>                 Key: HBASE-16370
>                 URL: https://issues.apache.org/jira/browse/HBASE-16370
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 1.2.2
>            Reporter: Jerry He
>            Assignee: Jerry He
>            Priority: Minor
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.3
>
>         Attachments: HBASE-16370.patch
>
>
> Getting this message trying to do a build with -Prelease:
> {noformat}
> [INFO] Restricted to JDK 1.7 yet jdk.tools:jdk.tools:jar:1.8:system contains 
> org/relaxng/datatype/DatatypeLibrary.class targeted to JDK 1.8
> [WARNING] Rule 3: org.apache.maven.plugins.enforcer.EnforceBytecodeVersion 
> failed with message:
> HBase has unsupported dependencies.
>   HBase requires that all dependencies be compiled with version 1.7 or earlier
>   of the JDK to properly build from source.  You appear to be using a newer 
> dependency. You can use
>   either "mvn -version" or "mvn enforcer:display-info" to verify what version 
> is active.
>   Non-release builds can temporarily build with a newer JDK version by 
> setting the
>   'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
> Found Banned Dependency: jdk.tools:jdk.tools:jar:1.8
> Use 'mvn dependency:tree' to locate the source of the banned dependencies.
> [INFO] 
> ------------------------------------------------------------------------
> {noformat}
> My JDK is 1.8.  But I wanted to build to target 1.7.  So I didn't' have the 
> -DcompileSource=1.8.
> The enforcer checks the jdk tools.jar and causes the error because the system 
> JDK is 1.8.
> This is a valid build/release use case as long as we support both 1.8 and 1.7.
> We should exclude jdk tools.jar from the enforcer.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to