You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2019/10/10 22:03:00 UTC

[jira] [Resolved] (THRIFT-4941) thrift compiler will not auto update gen-cpp directory

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

Jens Geyer resolved THRIFT-4941.
--------------------------------
    Fix Version/s: 0.13.0
         Assignee: Jens Geyer
       Resolution: Cannot Reproduce

No further feedback since, closing. Feel free to reopen if more info becomes available.

> 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
>            Assignee: Jens Geyer
>            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.4#803005)