autogenpb now completely automatic
This commit is contained in:
parent
2ebdd32040
commit
45fc9ea257
6
Makefile
6
Makefile
|
@ -31,10 +31,10 @@ clean:
|
||||||
# refs.proto
|
# refs.proto
|
||||||
|
|
||||||
gitTag.pb.go: gitTag.proto
|
gitTag.pb.go: gitTag.proto
|
||||||
autogenpb --proto gitTag.proto --mutex
|
autogenpb --proto gitTag.proto
|
||||||
|
|
||||||
goDep.pb.go: goDep.proto
|
goDep.pb.go: goDep.proto
|
||||||
autogenpb --proto goDep.proto --mutex
|
autogenpb --proto goDep.proto
|
||||||
|
|
||||||
repo.pb.go: repo.proto
|
repo.pb.go: repo.proto
|
||||||
autogenpb --proto repo.proto --mutex
|
autogenpb --proto repo.proto
|
||||||
|
|
|
@ -4,6 +4,8 @@ package gitpb;
|
||||||
|
|
||||||
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
||||||
|
|
||||||
|
// global settings for autogenpb `autogenpb:mutex`
|
||||||
|
|
||||||
message GitTag { // `autogenpb:marshal`
|
message GitTag { // `autogenpb:marshal`
|
||||||
string refname = 1; // `autogenpb:unique` // tag name. treated as unique
|
string refname = 1; // `autogenpb:unique` // tag name. treated as unique
|
||||||
google.protobuf.Timestamp creatordate = 2; // git creatordate
|
google.protobuf.Timestamp creatordate = 2; // git creatordate
|
||||||
|
|
|
@ -6,6 +6,8 @@ package gitpb;
|
||||||
|
|
||||||
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
||||||
|
|
||||||
|
// global settings for autogenpb `autogenpb:mutex`
|
||||||
|
|
||||||
message GoDep { // `autogenpb:marshal`
|
message GoDep { // `autogenpb:marshal`
|
||||||
string hash = 1; // `autogenpb:unique` // md5sum/hash value from the go.sum file
|
string hash = 1; // `autogenpb:unique` // md5sum/hash value from the go.sum file
|
||||||
google.protobuf.Timestamp ctime = 2; // get the go date from 'go list' ?
|
google.protobuf.Timestamp ctime = 2; // get the go date from 'go list' ?
|
||||||
|
|
|
@ -124,6 +124,9 @@ func (repo *Repo) parseGoSum() (bool, error) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
func (repo *Repo) RepoType() string {
|
func (repo *Repo) RepoType() string {
|
||||||
|
if repo == nil {
|
||||||
|
return "nil"
|
||||||
|
}
|
||||||
if repo.GetGoPlugin() {
|
if repo.GetGoPlugin() {
|
||||||
return "plugin"
|
return "plugin"
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@ import "gitTag.proto";
|
||||||
import "goDep.proto";
|
import "goDep.proto";
|
||||||
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
|
||||||
|
|
||||||
|
// global settings for autogenpb `autogenpb:mutex`
|
||||||
|
|
||||||
message Repo { // `autogenpb:marshal`
|
message Repo { // `autogenpb:marshal`
|
||||||
string fullPath = 1; // the actual path to the .git directory: '/home/devel/golang.org/x/tools'
|
string fullPath = 1; // the actual path to the .git directory: '/home/devel/golang.org/x/tools'
|
||||||
google.protobuf.Timestamp lastPull = 2; // last time a git pull was done
|
google.protobuf.Timestamp lastPull = 2; // last time a git pull was done
|
||||||
|
|
|
@ -80,3 +80,22 @@ func scanForProtobuf(srcDir string) ([]string, []string, error) {
|
||||||
|
|
||||||
return protofiles, compiled, err
|
return protofiles, compiled, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (repo *Repo) GetProtoFiles() ([]string, error) {
|
||||||
|
var protofiles []string
|
||||||
|
err := filepath.Walk(repo.GetFullPath(), func(path string, info os.FileInfo, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
log.Log(GITPBWARN, "Error accessing path:", path, err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasSuffix(path, ".proto") {
|
||||||
|
//
|
||||||
|
protofiles = append(protofiles, path)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
return protofiles, err
|
||||||
|
}
|
||||||
|
|
4
shell.go
4
shell.go
|
@ -34,6 +34,10 @@ func (repo *Repo) RunQuiet(cmd []string) cmd.Status {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (repo *Repo) RunRealtime(cmd []string) cmd.Status {
|
||||||
|
return shell.PathRunRealtime(repo.GetFullPath(), cmd)
|
||||||
|
}
|
||||||
|
|
||||||
// for now, even check cmd.Exit
|
// for now, even check cmd.Exit
|
||||||
func (repo *Repo) strictRun(cmd []string) (bool, error) {
|
func (repo *Repo) strictRun(cmd []string) (bool, error) {
|
||||||
result := repo.RunQuiet(cmd)
|
result := repo.RunQuiet(cmd)
|
||||||
|
|
Loading…
Reference in New Issue