[ 
https://issues.apache.org/jira/browse/HDFS-10874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Clampffer updated HDFS-10874:
-----------------------------------
    Attachment: HDFS-10874.HDFS-8707.001.patch

New patch that should work, going to do a bit more testing by linking against 
other stuff.

Changes:
-The URI class is now in the public include directory.  There was already 
enough stuff using it in ways that didn't have a clean way of forward 
declarations.

-The URI class doesn't use optional<T> anymore.  It's a header only library so 
it would need to be around whenever the client library built.  Shipping boost 
licensed stuff as a source header seemed unwise and it was only used in a 
couple places.

> libhdfs++: Public API headers should not depend on internal implementation
> --------------------------------------------------------------------------
>
>                 Key: HDFS-10874
>                 URL: https://issues.apache.org/jira/browse/HDFS-10874
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: James Clampffer
>            Assignee: James Clampffer
>         Attachments: HDFS-10874.HDFS-8707.000.patch, 
> HDFS-10874.HDFS-8707.001.patch
>
>
> Public headers need to do some combination of the following: stop including 
> parts of the implementation, forward declare bits of the implementation where 
> absolutely needed, or pull the implementation into include/hdfspp if it's 
> inseparable.
> Example:
> If you want to use the C++ API and only stick include/hdfspp in the include 
> path you'll get an error when you include include/hdfspp/options.h because 
> that goes and includes common/uri.h.
> Related to the work described in HDFS-10787.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to