I just wish this were documented better.

You mean, even better documented as here?
http://thrift.apache.org/docs/idl/
Namespace
A namespace declares which namespaces/package/module/etc. the type definitions in this file will be declared in for the target languages. The namespace scope indicates which language the namespace applies to; a scope of '*' indicates that the namespace applies to all target languages.

[5]  Namespace       ::=  ( 'namespace' ( NamespaceScope Identifier ) |
( 'smalltalk.category' STIdentifier ) | ( 'smalltalk.prefix' Identifier ) ) |
                         ( 'php_namespace' Literal ) |
                         ( 'xsd_namespace' Literal )

[6] NamespaceScope ::= '*' | 'cpp' | 'java' | 'py' | 'perl' | 'rb' | 'cocoa' | 'csharp'


JensG


-----Ursprüngliche Nachricht----- From: Andrew Pennebaker
Sent: Wednesday, September 11, 2013 8:36 PM
To: Thrift Users
Subject: Re: Reducing namespace boilerplate?

Works for me! I just wish this were documented better.


On Wed, Sep 11, 2013 at 12:48 PM, Ben Craig <[email protected]> wrote:

I think (but I'm not sure) that "namespace * com.blah.blah" will do what
you want.



From:   Andrew Pennebaker <[email protected]>
To:     Thrift Users <[email protected]>,
Date:   09/11/2013 09:59 AM
Subject:        Reducing namespace boilerplate?



If I want my .thrift to be compatible with C++ and Java, I think I have to
write both:

namespace cpp com.blah.blah

and:

namespace java com.blah.blah

Which seems redundant when the namespaces are the same. I'd much rather
write something like:

namespace com.blah.blah

And just let all languages use the same namespace scheme. But thrift 0.9.0
doesn't seem to support this, throwing an empty compile error about
syntax.

Is there a way to do this in current Thrift? Are there plans in the future
to support the syntax I'm after?




Reply via email to