Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ekazakas committed Feb 5, 2025
1 parent 60165c5 commit d3376d6
Show file tree
Hide file tree
Showing 2 changed files with 176 additions and 34 deletions.
153 changes: 153 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

57 changes: 23 additions & 34 deletions cmd/avrogen/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,48 +96,37 @@ func realMain(args []string, stdout, stderr io.Writer) int {

ctx := context.Background()

var g *gen.Generator
g := gen.NewGenerator(cfg.Pkg, tags, opts...)
for _, entry := range flgs.Args() {
var schema avro.Schema

if cfg.SchemaRegistry != "" {
entry := flgs.Args()[0]

client, err := registry.NewClient(cfg.SchemaRegistry)
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}

subject, version, err := parseSubjectVersion(entry)
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}

schemaMetadata := gen.SchemaMetadata{
Subject: subject,
Version: version,
}

schema, err := client.GetSchemaByVersion(ctx, subject, version)
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}

g = gen.NewGenerator(cfg.Pkg, tags, append(opts, gen.WithMetadata(&schemaMetadata))...)
g.Parse(schema)
} else {
g = gen.NewGenerator(cfg.Pkg, tags, opts...)
if cfg.SchemaRegistry != "" {
client, err := registry.NewClient(cfg.SchemaRegistry)
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}

for _, entry := range flgs.Args() {
schema, err := avro.ParseFiles(filepath.Clean(entry))
subject, version, err := parseSubjectVersion(entry)
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}

g.Parse(schema)
schema, err = client.GetSchemaByVersion(ctx, subject, version)
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}
} else {
schema, err = avro.ParseFiles(filepath.Clean(entry))
if err != nil {
_, _ = fmt.Fprintf(stderr, "Error: %v\n", err)
return 2
}
}

g.Parse(schema)
}

var buf bytes.Buffer
Expand Down

0 comments on commit d3376d6

Please sign in to comment.