gomeet

command module
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2018 License: Apache-2.0 Imports: 0 Imported by: 0

README

Gomeet

Apache 2.0 License

The main gomeet's tools (generator, protoc plugin) and the main gomeet's library.

WARNING: dev in progress

Installing

To install simply use go get.

$ go get -u github.com/gomeet/gomeet/gomeet

Or use git

git clone https://github.com/gomeet/gomeet.git $GOPATH/src/github.com/gomeet/gomeet
cd $GOPATH/src/github.com/gomeet/gomeet
make install

Usage

$ gomeet help
Usage:
  gomeet [command]

Available Commands:
  help        Help about any command
  new         Create a new microservice
  version     Return version

Flags:
  -h, --help   help for gomeet

Use "gomeet [command] --help" for more information about a command.

The new command usage

$ gomeet help new
Create a new microservice

Usage:
  gomeet new [name] [flags]

Flags:
      --db-types string           DB types [mysql,postgres,sqllite,mssql] (comma separated)
      --default-prefixes string   List of prefixes [svc-,gomeet-svc-] (comma separated) - Overloaded with $GOMEET_DEFAULT_PREFIXES
      --force                     Replace files if exists
  -h, --help                      help for new
      --no-gogo                   if is true the protoc plugin is protoc-gen-go else it's protoc-gen-gogo in the Makefile file
      --proto-name string         Protobuf pakage name (inside project)
      --sub-services string       Sub services dependencies (comma separated)

Use case

Generation of github.com/gomeet-examples/svc-echo service with the gomeet new command.

$ gomeet new github.com/gomeet-examples/svc-echo
Creating project in <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo
Is this OK? [y]es/[N]o
y
2018/02/14 18:25:58 [Creating]  - <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo/Gopkg.toml
...SNIP...
2018/02/14 18:25:59 [Creating]  - <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo/docs/devel/add_sub_service/README.md

Print tree? [y]es/[N]o
y
.
├── third_party
│   ├── github.com
│   │   ├── gogo
│   │   │   └── protobuf
│   │   │       └── gogoproto
│   │   │           └── gogo.proto
...SNIP...

To finish project initialization do :
  $ cd <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo
  $ git init
  $ git add .
  $ git commit -m 'First commit (gomeet new <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo)'
  $ make tools-sync proto dep test
  $ git add .
  $ git commit -m 'Added tools and dependencies'

Do it? [y]es/[N]o
y
<YOUR_GOPATH>/github.com/gomeet-examples/svc-echo $ git init
...SNIP...

To git flow initialization do :
  $ cd <YOUR_GOPATH>/github.com/gomeet-examples/svc-echo
  $ git flow init -d

Do it? [y]es/[N]o
y
<YOUR_GOPATH>/github.com/gomeet-examples/svc-echo $ git flow init -d

Which branch should be used for bringing forth production releases?
...SNIP...

TODO

  • Units tests
  • Add an use case see gomeet-examples
  • Add ui generator
  • Use bazel for build?
  • Improvements
  • Add make package-<OS>-<ARCH> directives
  • Bug fix colision name for sub services definitions
  • Support for flags or ENV VAR in service/service_test.go
  • Make releases on github or gogs
  • Add hack/run.sh on project generator

Similar projects

License

gomeet and protoc-gen-gomeet-service are released under the Apache 2.0 license. See the LICENSE file for details.

Documentation

Overview

gomeet is the main gomeet's tools (generator, protoc plugin) and the main gomeet's library.

Directories

Path Synopsis
_tools
src/github.com/astaxie/bat
Bat is a Go implemented CLI cURL-like tool for humans bat [flags] [METHOD] URL [ITEM [ITEM]]
Bat is a Go implemented CLI cURL-like tool for humans bat [flags] [METHOD] URL [ITEM [ITEM]]
src/github.com/astaxie/bat/httplib
Usage: import "github.com/astaxie/beego/httplib" b := httplib.Post("http://beego.me/") b.Param("username","astaxie") b.Param("password","123456") b.PostFile("uploadfile1", "httplib.pdf") b.PostFile("uploadfile2", "httplib.txt") str, err := b.String() if err != nil { t.Fatal(err) } fmt.Println(str) more docs http://beego.me/docs/module/httplib.md
Usage: import "github.com/astaxie/beego/httplib" b := httplib.Post("http://beego.me/") b.Param("username","astaxie") b.Param("password","123456") b.PostFile("uploadfile1", "httplib.pdf") b.PostFile("uploadfile2", "httplib.txt") str, err := b.String() if err != nil { t.Fatal(err) } fmt.Println(str) more docs http://beego.me/docs/module/httplib.md
src/github.com/fsnotify/fsnotify
Package fsnotify provides a platform-independent interface for file system notifications.
Package fsnotify provides a platform-independent interface for file system notifications.
src/github.com/gogo/protobuf/gogoproto
Package gogoproto provides extensions for protocol buffers to achieve: - fast marshalling and unmarshalling.
Package gogoproto provides extensions for protocol buffers to achieve: - fast marshalling and unmarshalling.
src/github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
src/github.com/gogo/protobuf/protoc-gen-gogo/descriptor
Package descriptor provides functions for obtaining protocol buffer descriptors for generated Go types.
Package descriptor provides functions for obtaining protocol buffer descriptors for generated Go types.
src/github.com/gogo/protobuf/protoc-gen-gogo/generator
The code generator for the plugin for the Google protocol buffer compiler.
The code generator for the plugin for the Google protocol buffer compiler.
src/github.com/gogo/protobuf/protoc-gen-gogo/plugin
Package plugin_go is a generated protocol buffer package.
Package plugin_go is a generated protocol buffer package.
src/github.com/golang/dep
Package dep is a prototype dependency management library.
Package dep is a prototype dependency management library.
src/github.com/golang/dep/cmd/dep
Command dep is a prototype dependency management tool.
Command dep is a prototype dependency management tool.
src/github.com/golang/dep/internal/gps/internal/pb
Package pb provides generated Protocol Buffers for cache serialization.
Package pb provides generated Protocol Buffers for cache serialization.
src/github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
src/github.com/golang/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
src/github.com/golang/protobuf/protoc-gen-go/descriptor
Package descriptor is a generated protocol buffer package.
Package descriptor is a generated protocol buffer package.
src/github.com/golang/protobuf/protoc-gen-go/generator
The code generator for the plugin for the Google protocol buffer compiler.
The code generator for the plugin for the Google protocol buffer compiler.
src/github.com/golang/protobuf/protoc-gen-go/grpc
Package grpc outputs gRPC service descriptions in Go code.
Package grpc outputs gRPC service descriptions in Go code.
src/github.com/golang/protobuf/protoc-gen-go/plugin
Package plugin_go is a generated protocol buffer package.
Package plugin_go is a generated protocol buffer package.
src/github.com/golang/protobuf/ptypes/any
Package any is a generated protocol buffer package.
Package any is a generated protocol buffer package.
src/github.com/gomeet/go-proto-gomeetfaker
Package gomeetfaker is a generated protocol buffer package.
Package gomeetfaker is a generated protocol buffer package.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
Command protoc-gen-grpc-gateway is a plugin for Google protocol buffer compiler to generate a reverse-proxy, which converts incoming RESTful HTTP/1 requests gRPC invocation.
Command protoc-gen-grpc-gateway is a plugin for Google protocol buffer compiler to generate a reverse-proxy, which converts incoming RESTful HTTP/1 requests gRPC invocation.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/generator
Package generator provides an abstract interface to code generators.
Package generator provides an abstract interface to code generators.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/gengateway
Package gengateway provides a code generator for grpc gateway files.
Package gengateway provides a code generator for grpc gateway files.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/genswagger
Package genswagger provides a code generator for swagger.
Package genswagger provides a code generator for swagger.
src/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options
Package options is a generated protocol buffer package.
Package options is a generated protocol buffer package.
src/github.com/grpc-ecosystem/grpc-gateway/utilities
Package utilities provides members for internal use in grpc-gateway.
Package utilities provides members for internal use in grpc-gateway.
src/github.com/hashicorp/hcl
Package hcl decodes HCL into usable Go structures.
Package hcl decodes HCL into usable Go structures.
src/github.com/hashicorp/hcl/hcl/ast
Package ast declares the types used to represent syntax trees for HCL (HashiCorp Configuration Language)
Package ast declares the types used to represent syntax trees for HCL (HashiCorp Configuration Language)
src/github.com/hashicorp/hcl/hcl/parser
Package parser implements a parser for HCL (HashiCorp Configuration Language)
Package parser implements a parser for HCL (HashiCorp Configuration Language)
src/github.com/hashicorp/hcl/hcl/printer
Package printer implements printing of AST nodes to HCL format.
Package printer implements printing of AST nodes to HCL format.
src/github.com/hashicorp/hcl/hcl/scanner
Package scanner implements a scanner for HCL (HashiCorp Configuration Language) source text.
Package scanner implements a scanner for HCL (HashiCorp Configuration Language) source text.
src/github.com/hashicorp/hcl/hcl/token
Package token defines constants representing the lexical tokens for HCL (HashiCorp Configuration Language)
Package token defines constants representing the lexical tokens for HCL (HashiCorp Configuration Language)
src/github.com/jteeuwen/go-bindata
bindata converts any file into managable Go source code.
bindata converts any file into managable Go source code.
src/github.com/magiconair/properties
Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.
Package properties provides functions for reading and writing ISO-8859-1 and UTF-8 encoded .properties files and has support for recursive property expansion.
src/github.com/mitchellh/mapstructure
Package mapstructure exposes functionality to convert an arbitrary map[string]interface{} into a native Go structure.
Package mapstructure exposes functionality to convert an arbitrary map[string]interface{} into a native Go structure.
src/github.com/mwitkow/go-proto-validators
Package validator is a generated protocol buffer package.
Package validator is a generated protocol buffer package.
src/github.com/mwitkow/go-proto-validators/plugin
The validator plugin generates a Validate method for each message.
The validator plugin generates a Validate method for each message.
src/github.com/pelletier/go-toml
Package toml is a TOML parser and manipulation library.
Package toml is a TOML parser and manipulation library.
src/github.com/pseudomuto/protoc-gen-doc
Package gendoc is a protoc plugin for generating documentation from your proto files.
Package gendoc is a protoc plugin for generating documentation from your proto files.
src/github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc
protoc-gen-doc is used to generate documentation from comments in your proto files.
protoc-gen-doc is used to generate documentation from comments in your proto files.
src/github.com/spf13/cast
Package cast provides easy and safe casting in Go.
Package cast provides easy and safe casting in Go.
src/github.com/spf13/cobra
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces.
src/github.com/spf13/pflag
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
src/github.com/square/certstrap/Godeps/_workspace/src/github.com/codegangsta/cli
Package cli provides a minimal framework for creating and organizing command line Go applications.
Package cli provides a minimal framework for creating and organizing command line Go applications.
src/github.com/square/certstrap/Godeps/_workspace/src/golang.org/x/crypto/ssh/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
src/golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
src/golang.org/x/text/transform
Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
src/golang.org/x/text/unicode/norm
Package norm contains types and functions for normalizing Unicode strings.
Package norm contains types and functions for normalizing Unicode strings.
src/google.golang.org/genproto/googleapis/api/annotations
Package annotations is a generated protocol buffer package.
Package annotations is a generated protocol buffer package.
src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.
cmd
Command protoc-gen-gomeet-service is a plugin for Google protocol buffer compiler to generate a Gomeet project's microservices, which create a the project's gRPC services definitions with it's console, cli client and some sugar.
Command protoc-gen-gomeet-service is a plugin for Google protocol buffer compiler to generate a Gomeet project's microservices, which create a the project's gRPC services definitions with it's console, cli client and some sugar.
utils is the main gomeet's library.
utils is the main gomeet's library.
grpc-middlewares/acl
`acl` a generic ACL server-side middleware for gRPC.
`acl` a generic ACL server-side middleware for gRPC.
jwt
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL