[
https://issues.apache.org/jira/browse/THRIFT-5353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17286589#comment-17286589
]
Yuxuan Wang commented on THRIFT-5353:
-------------------------------------
Are you talking about that the included zipkincore.thrift is no longer imported
by the go code? You also imported jaeger.thrift and I see that is still
imported by 0.14.0 generated go code. We also have thrift files importing
multiple other thrift files without an issue. Do you have a full example (with
all the imported files) that can be used to reproduce this issue?
> Namespace from type is ignored in generated code
> ------------------------------------------------
>
> Key: THRIFT-5353
> URL: https://issues.apache.org/jira/browse/THRIFT-5353
> Project: Thrift
> Issue Type: Bug
> Components: Go - Compiler
> Reporter: Juraci Paixão Kröhling
> Priority: Critical
>
> When using the Go compiler 0.14 with the Thrift spec below, the generated
> function does not use the namespace, causing compilation issues.
>
> {code}
> include "jaeger.thrift"
> include "zipkincore.thrift"
> namespace cpp jaegertracing.agent.thrift
> namespace java io.jaegertracing.agent.thrift
> namespace php Jaeger.Thrift.Agent
> namespace netstd Jaeger.Thrift.Agent
> namespace lua jaeger.thrift.agent
> service Agent {
> oneway void emitZipkinBatch(1: list<zipkincore.Span> spans)
> oneway void emitBatch(1: jaeger.Batch batch)
> }
> {code}
> Here's an excerpt of the generated Go code for this service:
> {code}
> // Code generated by Thrift Compiler (0.14.0). DO NOT EDIT.
> package agent
> import(
> "bytes"
> "context"
> "fmt"
> "time"
> "github.com/apache/thrift/lib/go/thrift"
> "github.com/jaegertracing/jaeger/thrift-gen/jaeger"
> )
> // (needed to ensure safety because of naive import list construction.)
> var _ = thrift.ZERO
> var _ = fmt.Printf
> var _ = context.Background
> var _ = time.Now
> var _ = bytes.Equal
> var _ = jaeger.GoUnusedProtection__
> type Agent interface {
> // Parameters:
> // - Spans
> EmitZipkinBatch(ctx context.Context, spans []*Span) (err error)
> // Parameters:
> // - Batch
> EmitBatch(ctx context.Context, batch *jaeger.Batch) (err error)
> }
> {code}
> In previous versions like 0.13, this is how the generated code looks like:
> {code}
> // Autogenerated by Thrift Compiler (0.13.0)
> // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> package agent
> import(
> "bytes"
> "context"
> "reflect"
> "fmt"
> "github.com/apache/thrift/lib/go/thrift"
> "github.com/jaegertracing/jaeger/thrift-gen/jaeger"
> "github.com/jaegertracing/jaeger/thrift-gen/zipkincore"
> )
> // (needed to ensure safety because of naive import list construction.)
> var _ = thrift.ZERO
> var _ = fmt.Printf
> var _ = context.Background
> var _ = reflect.DeepEqual
> var _ = bytes.Equal
> var _ = jaeger.GoUnusedProtection__
> var _ = zipkincore.GoUnusedProtection__
> type Agent interface {
> // Parameters:
> // - Spans
> EmitZipkinBatch(ctx context.Context, spans []*zipkincore.Span) (err error)
> // Parameters:
> // - Batch
> EmitBatch(ctx context.Context, batch *jaeger.Batch) (err error)
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)