Skip to content
This repository was archived by the owner on Jun 20, 2024. It is now read-only.

Commit e93e7a3

Browse files
authored
Allowing packages to have no name (giving them a default one) (#114)
Co-authored-by: Chrusty <>
1 parent 58b7ffa commit e93e7a3

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

internal/converter/converter.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
const (
2323
defaultCommentDelimiter = " "
2424
defaultFileExtension = "json"
25+
defaultPackageName = "package"
2526
defaultRefPrefix = "#/definitions/"
2627
messageDelimiter = "+"
2728
versionDraft04 = "http://json-schema.org/draft-04/schema#"
@@ -359,22 +360,22 @@ func (c *Converter) convert(request *plugin.CodeGeneratorRequest) (*plugin.CodeG
359360
}
360361
}
361362

362-
// Check that this file has a proto package:
363+
// Check that this file has a proto package, and give it one if not:
363364
if fileDesc.GetPackage() == "" {
364-
c.logger.WithField("filename", fileDesc.GetName()).Warn("Proto file doesn't specify a package")
365-
continue
365+
c.logger.WithField("filename", fileDesc.GetName()).WithField("default_package_name", defaultPackageName).Debug("Proto file doesn't specify a package - assuming the default")
366+
fileDesc.Package = strPtr(defaultPackageName)
366367
}
367368

368369
// Build a list of any messages specified by this file:
369370
for _, msgDesc := range fileDesc.GetMessageType() {
370371
c.logger.WithField("msg_name", msgDesc.GetName()).WithField("package_name", fileDesc.GetPackage()).Debug("Loading a message")
371-
c.registerType(fileDesc.Package, msgDesc)
372+
c.registerType(fileDesc.GetPackage(), msgDesc)
372373
}
373374

374375
// Build a list of any enums specified by this file:
375376
for _, en := range fileDesc.GetEnumType() {
376377
c.logger.WithField("enum_name", en.GetName()).WithField("package_name", fileDesc.GetPackage()).Debug("Loading an enum")
377-
c.registerEnum(fileDesc.Package, en)
378+
c.registerEnum(fileDesc.GetPackage(), en)
378379
}
379380

380381
// Generate schemas for this file:

internal/converter/types.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ var (
3232
}
3333
)
3434

35-
func (c *Converter) registerEnum(pkgName *string, enum *descriptor.EnumDescriptorProto) {
35+
func (c *Converter) registerEnum(pkgName string, enum *descriptor.EnumDescriptorProto) {
3636
pkg := globalPkg
37-
if pkgName != nil {
38-
for _, node := range strings.Split(*pkgName, ".") {
37+
if pkgName != "" {
38+
for _, node := range strings.Split(pkgName, ".") {
3939
if pkg == globalPkg && node == "" {
4040
// Skips leading "."
4141
continue
@@ -51,10 +51,10 @@ func (c *Converter) registerEnum(pkgName *string, enum *descriptor.EnumDescripto
5151
pkg.enums[enum.GetName()] = enum
5252
}
5353

54-
func (c *Converter) registerType(pkgName *string, msgDesc *descriptor.DescriptorProto) {
54+
func (c *Converter) registerType(pkgName string, msgDesc *descriptor.DescriptorProto) {
5555
pkg := globalPkg
56-
if pkgName != nil {
57-
for _, node := range strings.Split(*pkgName, ".") {
56+
if pkgName != "" {
57+
for _, node := range strings.Split(pkgName, ".") {
5858
if pkg == globalPkg && node == "" {
5959
// Skips leading "."
6060
continue

0 commit comments

Comments
 (0)