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

Carlos Valiente updated THRIFT-193:
-----------------------------------

    Description: 
I just had a look at the Perl stuff generated from tutorial.thrift:

....tutorial/gen-perl/
........shared/
............Constants.pm
............Types.pm
........tutorial/
............Constants.pm
............Types.pm
........Calculator.pm
........SharedService.pm

Since 'Calculator' (resp. 'SharedService') is defined in 'tutorial.thrift'
(resp. 'shared.thrift'), whose namespace declaration is 'tutorial' (resp.
'shared'), I would have expected the following:

....tutorial/gen-perl/
........shared/
............Constants.pm
............Types.pm
............SharedService.pm
........tutorial/
............Constants.pm
............Types.pm
............Calculator.pm

(Which is what you get for Python, by the way)

With the current layout, if I want to define a service called 'Calculator'
under my own namespace 'foo', I would get:

....foo/
........Constants.pm
........Types.pm
....Calculator.pm

,which would clash with Calculator.pm generated from tutorial.thrift.


  was:
I just had a look at the Perl stuff generated from tutorial.thrift:

    tutorial/gen-perl/
        shared/
            Constants.pm
            Types.pm
        tutorial/
            Constants.pm
            Types.pm
        Calculator.pm
        SharedService.pm

Since 'Calculator' (resp. 'SharedService') is defined in 'tutorial.thrift'
(resp. 'shared.thrift'), whose namespace declaration is 'tutorial' (resp.
'shared'), I would have expected the following:

    tutorial/gen-perl/
        shared/
            Constants.pm
            Types.pm
            SharedService.pm
        tutorial/
            Constants.pm
            Types.pm
            Calculator.pm

(Which is what you get for Python, by the way)

With the current layout, if I want to define a service called 'Calculator'
under my own namespace 'foo', I would get:

    foo/
        Constants.pm
        Types.pm
    Calculator.pm

,which would clash with Calculator.pm generated from tutorial.thrift.



> Fix Perl namespaces
> -------------------
>
>                 Key: THRIFT-193
>                 URL: https://issues.apache.org/jira/browse/THRIFT-193
>             Project: Thrift
>          Issue Type: Bug
>          Components: Compiler (Perl)
>    Affects Versions: 0.1
>            Reporter: Carlos Valiente
>             Fix For: 0.1
>
>         Attachments: perl-namespaces.diff
>
>
> I just had a look at the Perl stuff generated from tutorial.thrift:
> ....tutorial/gen-perl/
> ........shared/
> ............Constants.pm
> ............Types.pm
> ........tutorial/
> ............Constants.pm
> ............Types.pm
> ........Calculator.pm
> ........SharedService.pm
> Since 'Calculator' (resp. 'SharedService') is defined in 'tutorial.thrift'
> (resp. 'shared.thrift'), whose namespace declaration is 'tutorial' (resp.
> 'shared'), I would have expected the following:
> ....tutorial/gen-perl/
> ........shared/
> ............Constants.pm
> ............Types.pm
> ............SharedService.pm
> ........tutorial/
> ............Constants.pm
> ............Types.pm
> ............Calculator.pm
> (Which is what you get for Python, by the way)
> With the current layout, if I want to define a service called 'Calculator'
> under my own namespace 'foo', I would get:
> ....foo/
> ........Constants.pm
> ........Types.pm
> ....Calculator.pm
> ,which would clash with Calculator.pm generated from tutorial.thrift.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to