[
https://issues.apache.org/jira/browse/THRIFT-2014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679881#comment-13679881
]
Hudson commented on THRIFT-2014:
--------------------------------
Integrated in Thrift #708 (See [https://builds.apache.org/job/Thrift/708/])
THRIFT-2014 Change C++ lib includes to use <namespace/> style throughout
(Revision 4285ba29f239edba628e9a025bacf1e73e6e8f1e)
Result = FAILURE
roger :
Files :
* lib/cpp/src/thrift/windows/GetTimeOfDay.cpp
* lib/cpp/src/thrift/qt/TQTcpServer.cpp
* lib/cpp/src/thrift/windows/WinFcntl.cpp
* lib/cpp/src/thrift/async/TAsyncDispatchProcessor.h
* lib/cpp/src/thrift/protocol/TDebugProtocol.h
* lib/cpp/src/thrift/protocol/TBase64Utils.cpp
* lib/cpp/src/thrift/concurrency/Thread.h
* lib/cpp/src/thrift/concurrency/Mutex.cpp
* lib/cpp/src/thrift/concurrency/BoostThreadFactory.cpp
* lib/cpp/src/thrift/protocol/TJSONProtocol.cpp
* lib/cpp/src/thrift/transport/TSSLSocket.h
* lib/cpp/src/thrift/transport/TSocketPool.h
* lib/cpp/src/thrift/transport/TSimpleFileTransport.cpp
* lib/cpp/src/thrift/transport/TSocketPool.cpp
* lib/cpp/src/thrift/transport/TSocket.cpp
* lib/cpp/src/thrift/protocol/TBinaryProtocol.h
* lib/cpp/src/thrift/async/TEvhttpClientChannel.h
* lib/cpp/src/thrift/concurrency/BoostThreadFactory.h
* lib/cpp/src/thrift/protocol/TDebugProtocol.cpp
* lib/cpp/src/thrift/transport/TFDTransport.h
* lib/cpp/src/thrift/transport/TBufferTransports.h
* lib/cpp/src/thrift/concurrency/BoostMutex.cpp
* lib/cpp/src/thrift/windows/WinFcntl.h
* lib/cpp/src/thrift/concurrency/ThreadManager.cpp
* lib/cpp/src/thrift/transport/TSSLSocket.cpp
* lib/cpp/src/thrift/concurrency/Util.cpp
* lib/cpp/src/thrift/transport/TServerSocket.h
* lib/cpp/src/thrift/transport/TSocket.h
* lib/cpp/src/thrift/transport/TSSLServerSocket.h
* lib/cpp/src/thrift/windows/TWinsockSingleton.h
* lib/cpp/src/thrift/windows/SocketPair.cpp
* lib/cpp/src/thrift/protocol/TBinaryProtocol.tcc
* lib/cpp/src/thrift/concurrency/StdMutex.cpp
* lib/cpp/src/thrift/transport/TServerTransport.h
* lib/cpp/src/thrift/protocol/TDenseProtocol.h
* lib/cpp/src/thrift/transport/TPipe.h
* lib/cpp/src/thrift/TDispatchProcessor.h
* lib/cpp/src/thrift/windows/TWinsockSingleton.cpp
* lib/cpp/src/thrift/concurrency/StdThreadFactory.h
* lib/cpp/src/thrift/async/TAsyncProtocolProcessor.h
* lib/cpp/src/thrift/Thrift.h
* lib/cpp/src/thrift/concurrency/TimerManager.cpp
* lib/cpp/src/thrift/transport/TPipe.cpp
* lib/cpp/src/thrift/concurrency/TimerManager.h
* lib/cpp/src/thrift/transport/THttpTransport.h
* lib/cpp/src/thrift/transport/TServerSocket.cpp
* lib/cpp/src/thrift/protocol/TCompactProtocol.h
* lib/cpp/src/thrift/transport/TPipeServer.h
* lib/cpp/src/thrift/async/TEvhttpServer.cpp
* lib/cpp/src/thrift/transport/TSimpleFileTransport.h
* lib/cpp/src/thrift/concurrency/StdMonitor.cpp
* lib/cpp/src/thrift/transport/TFileTransport.cpp
* lib/cpp/src/thrift/concurrency/PosixThreadFactory.h
* lib/cpp/src/thrift/concurrency/Monitor.h
* lib/cpp/src/thrift/server/TNonblockingServer.cpp
* lib/cpp/src/thrift/transport/TSSLServerSocket.cpp
* lib/cpp/src/thrift/concurrency/PosixThreadFactory.cpp
* lib/cpp/src/thrift/concurrency/Monitor.cpp
* lib/cpp/src/thrift/async/TEvhttpClientChannel.cpp
* lib/cpp/src/thrift/processor/PeekProcessor.cpp
* lib/cpp/src/thrift/async/TAsyncProtocolProcessor.cpp
* lib/cpp/src/thrift/protocol/TJSONProtocol.h
* lib/cpp/src/thrift/windows/config.h
* lib/cpp/src/thrift/concurrency/StdThreadFactory.cpp
* lib/cpp/src/thrift/transport/TPipeServer.cpp
* lib/cpp/src/thrift/concurrency/ThreadManager.h
* lib/cpp/src/thrift/concurrency/BoostMonitor.cpp
> Change C++ lib includes to use <namespace/> style throughout
> ------------------------------------------------------------
>
> Key: THRIFT-2014
> URL: https://issues.apache.org/jira/browse/THRIFT-2014
> Project: Thrift
> Issue Type: Improvement
> Components: C++ - Library
> Affects Versions: 1.0
> Environment: All
> Reporter: Randy Abernethy
> Assignee: Randy Abernethy
> Priority: Minor
> Fix For: 0.9.1, 1.0
>
> Attachments: 0004-Changed-C-lib-includes-to-use-namespace-form.patch
>
>
> Use #include<thrift/...> style include statements throughout C++ library (see
> Exception below)
> Rational: Improve consistency and predictability in C++ library and user
> builds. Because Apache Thrift is a library, system style includes (<>) may be
> a better fit than local style includes (“”). System style includes are
> presently used predominantly (4:1) but not exclusively and the choice between
> the two often appears to have no pattern. Making the library’s approach
> <thrift/> consistent will improve build predictability (e.g local copies of
> include files will not be picked up). Using explicit thrift relative paths
> (i.e. namespaces like thrift/transport) also adds clarity and specificity
> (e.g. two files with the same name can exist in separate directories and can
> be included with obvious and predictable results, avoiding most path order
> dependencies). The “” include is commonly designated as a user include (e.g.
> gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html#Include-Syntax), the search
> pattern for “” tends to vary from compiler to compiler a bit also.
> bg: POSIX compliant compilers (and many others) search only –I directories
> and then standard directories for system #include<> dependencies (good for
> libraries). A local #include “” causes local directories (typically the
> location of the including file) to be searched, then the –I, then built-in
> paths. The POSIX spec is not adhered to by all platforms/compilers and more
> complex behavior is common, making "" tricky on occasion.
> Current situation:
> 447 instances of <thrift/...> e.g.:
> lib/cpp/src/thrift/transport/TFileTransport.h:#include
> <thrift/transport/TTransport.h>
> lib/cpp/src/thrift/transport/TTransportUtils.h:#include
> <thrift/transport/TTransport.h>
> 116 instances of “file.h” e.g.:
> lib/cpp/src/thrift/transport/TSocket.h:#include "TTransport.h"
> //Same header with “” and <> styles in different files
> lib/cpp/src/thrift/transport/TFileTransport.cpp:#include "TTransportUtils.h"
> //Single file including thrift headers in different ways (“” and <>)
> Exceptions: A header presented with local style (“”) delimiters is a hint
> indicating that the header is designed to be locally defined or potentially
> overloaded. The config.h header (associated with HAVE_CONFIG_H) may have this
> “locally defined” semantic. The config.h is also included with <> and “” in
> different locations. Assuming we want people to be able to locally override
> config.h, #include “config.h” is the right answer. That said config.h is a
> pretty generic name to be including with "config.h" safely. If only the
> config.h in the thrift root should be allowed then <thrift/config.h> may be
> the right answer. Thoughts?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira