summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile12
-rw-r--r--widget.proto36
3 files changed, 49 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 26b2ae2..e4e3810 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
*.swp
go.sum
go.mod
+*.pb.go
diff --git a/Makefile b/Makefile
index e4713b7..f85574a 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,12 @@ all:
@echo "Run: make redomod # to remake the go files"
@echo
+redo: clean proto goimports vet
+
+vet:
+ @GO111MODULE=off go vet
+ @echo this go plugin package builds okay
+
redomod: goimports
rm -f go.*
GO111MODULE= go mod init
@@ -10,3 +16,9 @@ redomod: goimports
goimports:
goimports -w *.go
+
+proto:
+ autogenpb --proto widget.proto
+
+clean:
+ rm -f go.* *.pb.go
diff --git a/widget.proto b/widget.proto
new file mode 100644
index 0000000..371c288
--- /dev/null
+++ b/widget.proto
@@ -0,0 +1,36 @@
+syntax = "proto3";
+
+// playing around with ideas here
+
+package main;
+
+import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
+
+message Size {
+ int64 width = 1;
+ int64 height = 2;
+}
+
+message Location {
+ int64 x = 1;
+ int64 y = 2;
+}
+
+message Tree {
+ Widget parent = 1;
+ repeated Widget children = 2;
+}
+
+message Widget {
+ int64 id = 1;
+ string name = 2;
+ Size size = 3;
+ Location location = 4;
+ string color = 5;
+}
+
+message Widgets {
+ string uuid = 1; // `autogenpb:uuid:0331fcd7-3c8c-43e4-be1b-77db6a6bc58c`
+ string version = 2; // `autogenpb:version:v1`
+ repeated Widget Widgets = 3;
+}