Skip to content

Commit

Permalink
replace gogoprotobuf with golang protobuf
Browse files Browse the repository at this point in the history
  • Loading branch information
awalterschulze committed Jan 22, 2025
1 parent 161a4b1 commit 2576a8d
Show file tree
Hide file tree
Showing 58 changed files with 4,301 additions and 7,266 deletions.
8 changes: 1 addition & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,6 @@ jobs:
uses: actions/checkout@v4
with:
path: gopath/github.com/katydid/testsuite
- name: Checkout gogoprotobuf
uses: actions/checkout@v4
with:
repository: gogo/protobuf
path: gopath/github.com/gogo/protobuf
- name: Setup Go
uses: actions/setup-go@v3
with:
Expand All @@ -26,8 +21,7 @@ jobs:
- name: Install tools
run: |
cd gopath/github.com/katydid/testsuite
go install -x github.com/gogo/protobuf/protoc-gen-gogo
go install -x github.com/awalterschulze/goderive
go install -x google.golang.org/protobuf/cmd/protoc-gen-go
- name: Setup protoc
run: |
cd gopath/github.com/katydid/testsuite
Expand Down
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
dep:
go install -v github.com/gogo/protobuf/protoc-gen-gogo
go install -v github.com/awalterschulze/goderive
go install google.golang.org/protobuf/cmd/protoc-gen-go

build:
go build ./...
Expand Down
24 changes: 18 additions & 6 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,18 +148,15 @@ This will then generate files in the `./tests/json/test_name` folder:

### Adding a Protocol Buffer Test

Create a new proto file `./gen-validator-tests/my.proto` with your protobuf definition. This should use [gogoprotobuf](https://github.com/gogo/protobuf), since we require a generated Description method that returns a FileDescriptorSet.

Create a new proto file `./gen-validator-tests/my.proto` with your protobuf definition.
Here is an example:

```proto
syntax = "proto2";
package main;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.description_all) = true;
option go_package = "github.com/katydid/testsuite/validator/gen-validator-tests/main";
message MyMessage {
optional string MyField = 1;
Expand All @@ -169,7 +166,22 @@ message MyMessage {
In the `./gen-validator-tests/Makefile` we need to add a command to generate some code for this protocol buffer.

```
(protoc --gogo_out=. -I=.:$(GOPATH)/src/:$(GOPATH)/src/github.com/gogo/protobuf/protobuf my.proto)
(protoc --go_out=. --go_opt=paths=source_relative my.proto)
```

We need to create `./gen-validator-tests/my_description.go` and add the following method:

```go
package main

import (
"github.com/katydid/parser-go-proto/proto"
descriptor "google.golang.org/protobuf/types/descriptorpb"
)

func (this *MyMessage) Description() *descriptor.FileDescriptorSet {
return proto.NewFileDescriptorSet(File_my_proto)
}
```

Finally we can create our test file `./gen-validator-tests/my_tests.go` with the following content:
Expand Down
9 changes: 3 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,14 @@ module github.com/katydid/testsuite
go 1.23

require (
github.com/awalterschulze/goderive v0.5.0
github.com/gogo/protobuf v1.3.2
github.com/katydid/parser-go-json v0.1.0
github.com/katydid/parser-go-proto v0.1.0
github.com/katydid/parser-go-xml v0.1.0
github.com/katydid/parser-gogo-proto v0.2.0
github.com/katydid/validator-go v0.5.1
google.golang.org/protobuf v1.36.3
)

require (
github.com/katydid/parser-go v0.6.0 // indirect
github.com/kisielk/gotool v1.0.0 // indirect
golang.org/x/sys v0.5.0 // indirect
golang.org/x/tools v0.6.0 // indirect
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
)
48 changes: 7 additions & 41 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,50 +1,16 @@
github.com/awalterschulze/goderive v0.5.0 h1:fzWIV1WVS20EQT3YMXJhjiPZIZom1dlgiabZ/PhT9zo=
github.com/awalterschulze/goderive v0.5.0/go.mod h1:rXccmDQDJN/4aGqWxWhq+UmBJeQEkFV/2/rkluP+ipA=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/katydid/parser-go v0.6.0 h1:8VFYXEp9pZsq4CCxYLDavPPqOSX+JXsmhjfU4XMB8iw=
github.com/katydid/parser-go v0.6.0/go.mod h1:1BwRfDlyRgDlAaURZ4FXi7IzHqWKTsrCdsstLsFeQho=
github.com/katydid/parser-go-json v0.1.0 h1:r3+YkDtf9A4JYO+MrdQsN2azxITrgO+2Sc5SSNhp+YI=
github.com/katydid/parser-go-json v0.1.0/go.mod h1:iLjxtkGLdPROUPBHZAhOTIdQerUPl/FEplS10rlq9Nc=
github.com/katydid/parser-go-proto v0.1.0 h1:cnS9dtjZkZ4dYiivy56tHvVja0gV8b04QY4P4VFjE28=
github.com/katydid/parser-go-proto v0.1.0/go.mod h1:yBWqastp7U/qi8qJqM1qIl3yfP8CTtiUnothslx+NGs=
github.com/katydid/parser-go-xml v0.1.0 h1:8AL0X9hQbNLbQeqRbOdKBOwx4WTSWjy7kxEMmWqHMXc=
github.com/katydid/parser-go-xml v0.1.0/go.mod h1:7rEHS3YuEv/8/ep+uQnLgcvT1znZs8JEc3ZaBbpygjA=
github.com/katydid/parser-gogo-proto v0.2.0 h1:zUpdli98aYSQY1mvzbysNkk/41jPB25W4NiRXocI/Kg=
github.com/katydid/parser-gogo-proto v0.2.0/go.mod h1:AH9y+kby4gN4o8w3MHDn6EX4SjrviWycnFjvEr/o1Ho=
github.com/katydid/validator-go v0.5.1 h1:XgLkSO62OFjcS7hmN8RTj0gHpMBdYRTAkiVtM59SV7E=
github.com/katydid/validator-go v0.5.1/go.mod h1:ZVsNg5NEwcOJT2ukTrCu/jKKuNiTRS/4sw4cMNr9vh8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU=
google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
3 changes: 1 addition & 2 deletions tools/tools.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,5 @@
package tools

import (
_ "github.com/awalterschulze/goderive"
_ "github.com/gogo/protobuf/protoc-gen-gogo"
_ "google.golang.org/protobuf/cmd/protoc-gen-go"
)
17 changes: 8 additions & 9 deletions validator/gen-validator-tests/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ gofmt:
gofmt -l -s -w .

regenerate:
goderive .
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf person.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf srctree.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf treeregister.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf typewriterprison.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf puddingmilkshake.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf topsyturvy.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf knot.proto)
(protoc --gogo_out=. -I=.:../../../../../:../../../../../github.com/gogo/protobuf/protobuf banana.proto)
(protoc --go_out=. --go_opt=paths=source_relative person.proto)
(protoc --go_out=. --go_opt=paths=source_relative srctree.proto)
(protoc --go_out=. --go_opt=paths=source_relative treeregister.proto)
(protoc --go_out=. --go_opt=paths=source_relative typewriterprison.proto)
(protoc --go_out=. --go_opt=paths=source_relative puddingmilkshake.proto)
(protoc --go_out=. --go_opt=paths=source_relative topsyturvy.proto)
(protoc --go_out=. --go_opt=paths=source_relative knot.proto)
(protoc --go_out=. --go_opt=paths=source_relative banana.proto)
find . -name "*.pb.go" | xargs gofmt -l -s -w
Loading

0 comments on commit 2576a8d

Please sign in to comment.