[
https://issues.apache.org/jira/browse/THRIFT-1866?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13590329#comment-13590329
]
Bekir Oguz commented on THRIFT-1866:
------------------------------------
One possible solution (possibly the first thing in everyone's mind) maybe
having the set of non-identifiers for each programming language and replacing
them with "_" or "" char during compile. But if someone compiles
"test-thift.thrift" and "test thrift.thrift" files together it will be a
problem.
I think the best approach is not depend on the file names at all, and criticize
the need of design change in 0.9. The approach of generating one Constants.java
file per thrift file was actually working fine, thinking in mind there is a
Constants struct defined implicitly in each thrift file with a const in it. One
improvement could be forcing or advising developers to use namespaces which
will resolve filename uniqueness issue. If my understanding of the original
problem is not correct, then can you please give more details about the need
for the design change?
> java compiler generates non-compiling code with const's defined in a thrift
> file whose name includes non-identifier chars
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-1866
> URL: https://issues.apache.org/jira/browse/THRIFT-1866
> Project: Thrift
> Issue Type: Bug
> Components: Java - Compiler
> Affects Versions: 0.9
> Environment: Mac OS X 10.7.5
> Reporter: Bekir Oguz
> Attachments: test-thrift.thrift
>
>
> Thrift-0.9 Java compiler generates non-compiling code when both the following
> conditions happen:
> * thrift file name includes a character which is not a valid java identifier
> (i.e. '-')
> * thrift file includes 'const' fields
> Thrift generates the Java file named <thriftFileName>Constants.java which is
> not compiling because of the non-identifier in the thriftFileName.
> Earlier thrift versions are fine because they generate only Constants.java
> file without prefixing thrift file name to it.
> Please find attached an example thrift file.
--
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