[
https://issues.apache.org/jira/browse/THRIFT-4941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16928008#comment-16928008
]
Jens Geyer commented on THRIFT-4941:
------------------------------------
I tried this, and it works for me. My testcase:
* delete gen-cpp folder
* call {{thrift -gen cpp ThriftTest.thrift}}
* open a file in the newly generated gen-cpp folder and modify it manually
* now run {{thrift -gen cpp ThriftTest.thrift}} again
* check the file if the manual edits are still there => NO.
That looks pretty much as it should. What am I doing wrong?
> thrift compiler will not auto update gen-cpp directory
> ------------------------------------------------------
>
> Key: THRIFT-4941
> URL: https://issues.apache.org/jira/browse/THRIFT-4941
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Compiler
> Affects Versions: 0.13.0
> Environment:
> Reporter: pengzhouhu
> Priority: Major
> Fix For: 0.13.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> thrift compiler will not auto update the files in the gen-cpp directory.
> when we call t_generator::generate_program() and init_generator() in
> compiler\cpp\src\thrift\generate\t_generator.cc ,
> 'MKDIR' macro will ignore EEXIST, and throw on any other error, this
> will not give any reponse print on terminal. we used to update and generate
> the .h .cpp files in the whole directory.
> 1. delete the old folder and create new one, generate the file again.
> 2. throw errno directly and exit the terminal.
>
> what`s your opinion about this?
>
> code details:
> {code:java}
> // ignore EEXIST, throw on any other error
> #ifdef _WIN32
> #define MKDIR(x) { int r = _mkdir(x); if (r == -1 && errno != EEXIST) { throw
> (std::string(x) + ": ") + strerror(errno); } }
> #else
> #define MKDIR(x) { int r = mkdir(x, S_IRWXU | S_IRWXG | S_IRWXO); if (r == -1
> && errno != EEXIST) { throw (std::string(x) + ": ") + strerror(errno); } }
> #endif
> {code}
> Thanks.
> Zhouhu.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)