just no. don't put directories in libraries. ever.
This commit is contained in:
parent
b1172af227
commit
d2112f954d
7
Makefile
7
Makefile
|
@ -1,11 +1,7 @@
|
||||||
VERSION = $(shell git describe --tags)
|
VERSION = $(shell git describe --tags)
|
||||||
BUILDTIME = $(shell date +%Y.%m.%d)
|
BUILDTIME = $(shell date +%Y.%m.%d)
|
||||||
|
|
||||||
run: build
|
run: build vet
|
||||||
|
|
||||||
test: build
|
|
||||||
@# make -C testautogen/ all
|
|
||||||
cd testautogen; pwd; ../autogenpb --proto test.proto
|
|
||||||
|
|
||||||
vet:
|
vet:
|
||||||
@GO111MODULE=off go vet
|
@GO111MODULE=off go vet
|
||||||
|
@ -35,4 +31,3 @@ reset:
|
||||||
clean:
|
clean:
|
||||||
-rm -f go.*
|
-rm -f go.*
|
||||||
-rm -f autogenpb
|
-rm -f autogenpb
|
||||||
@#make -C testautogen/ clean
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
VERSION = $(shell git describe --tags)
|
|
||||||
BUILDTIME = $(shell date +%Y.%m.%d)
|
|
||||||
|
|
||||||
test: vet
|
|
||||||
|
|
||||||
all: clean test.pb.go forgeConfig.pb.go run
|
|
||||||
|
|
||||||
run:
|
|
||||||
../autogenpb --proto test.proto --lobase gitTag --upbase GitTag --sort "ByPath,Refname" --sort "BySubject,Subject" --marshal GitTags --append Bling
|
|
||||||
../autogenpb --proto forgeConfig.proto --sort "ByPath,GoPath" # --append GoPath
|
|
||||||
|
|
||||||
vet:
|
|
||||||
@GO111MODULE=off go vet
|
|
||||||
@echo this go library package builds okay
|
|
||||||
|
|
||||||
goimports:
|
|
||||||
goimports -w *.go
|
|
||||||
|
|
||||||
redomod:
|
|
||||||
rm -f go.*
|
|
||||||
GO111MODULE= go mod init
|
|
||||||
GO111MODULE= go mod tidy
|
|
||||||
|
|
||||||
reset:
|
|
||||||
# clear your terminal
|
|
||||||
reset
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-rm -f *.pb.go
|
|
||||||
|
|
||||||
test.pb.go: test.proto
|
|
||||||
cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/apps/autogenpb/testautogen \
|
|
||||||
--go_opt=Mtest.proto=go.wit.com/apps/autogenpb/testautogen \
|
|
||||||
test.proto
|
|
||||||
|
|
||||||
forgeConfig.pb.go: forgeConfig.proto
|
|
||||||
cd ~/go/src && protoc --go_out=. --proto_path=go.wit.com/apps/autogenpb/testautogen \
|
|
||||||
--go_opt=MforgeConfig.proto=go.wit.com/apps/autogenpb/testautogen \
|
|
||||||
forgeConfig.proto
|
|
|
@ -1,39 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package testautogen;
|
|
||||||
|
|
||||||
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
|
||||||
|
|
||||||
// define 3 branches. that is all that is supported
|
|
||||||
// the term 'master' is used in the code because 'main' is a reserved word in golang already
|
|
||||||
// allow 'read only' and 'private' flags
|
|
||||||
// package names sometimes must be different than the binary name
|
|
||||||
// for example 'zookeeper' is packaged as 'zookeeper-go'
|
|
||||||
// due to the prior apache foundation project. This happens and is ok!
|
|
||||||
message ForgeConfig {
|
|
||||||
string goPath = 1; // Examples: 'go.wit.com/apps/go-clone' or "~/mythings" or "/home/src/foo"
|
|
||||||
|
|
||||||
bool writable = 2; // if you have write access to the repo
|
|
||||||
bool readOnly = 3; // the opposite, but needed for now because I don't know what I'm doing
|
|
||||||
bool private = 4; // if the repo can be published
|
|
||||||
bool directory = 5; // everything in this directory should use these writable & private values
|
|
||||||
bool favorite = 6; // you like this. always git clone/go clone this repo
|
|
||||||
bool interesting = 7; // this is something interesting you found and want to remember it
|
|
||||||
|
|
||||||
string masterBranchName = 8; // git 'main' or 'master' branch name
|
|
||||||
string develBranchName = 9; // whatever the git 'devel' branch name is
|
|
||||||
string userBranchName = 10; // whatever your username branch is
|
|
||||||
|
|
||||||
string debName = 11; // the actual name used with 'apt install' (or distro apt equivalent.
|
|
||||||
// todo: appeal to everyone to alias 'apt' on rhat, gentoo, arch, etc to alias 'apt install'
|
|
||||||
// so we can make easier instructions for new linux users. KISS
|
|
||||||
|
|
||||||
google.protobuf.Timestamp verstamp = 12; // the git commit timestamp of the version
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: autogen 'sort', 'marshal'
|
|
||||||
message ForgeConfigs {
|
|
||||||
string uuid = 1; // could be useful for /usr/share/file/magic someday?
|
|
||||||
string version = 2; // could be used for protobuf schema change violations?
|
|
||||||
repeated ForgeConfig ForgeConfigs = 3;
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
syntax = "proto3";
|
|
||||||
|
|
||||||
package gitpb;
|
|
||||||
|
|
||||||
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
|
||||||
|
|
||||||
message GitTag {
|
|
||||||
string refname = 1; // tag name. treated as unique
|
|
||||||
google.protobuf.Timestamp creatordate = 2; // git creatordate
|
|
||||||
google.protobuf.Timestamp authordate = 3; // git creatordate
|
|
||||||
string objectname = 4; // git hash
|
|
||||||
string subject = 5; // git tag subject
|
|
||||||
string author = 6; // author
|
|
||||||
string bling = 7; // bling
|
|
||||||
}
|
|
||||||
|
|
||||||
message GitTags {
|
|
||||||
string uuid = 1; // I guess why not just have this on each file
|
|
||||||
string version = 2; // maybe can be used for protobuf schema change violations
|
|
||||||
repeated GitTag gitTags = 3;
|
|
||||||
}
|
|
Loading…
Reference in New Issue