Skip to content

Instantly share code, notes, and snippets.

🐶
return of the

Jeff Hodges jmhodges

🐶
return of the
Block or report user

Report or block jmhodges

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View broken_errcheck.bzl
load("@io_bazel_rules_go//go:def.bzl", "go_context", "go_path", "go_rule")
load("@io_bazel_rules_go//go/private:providers.bzl", "GoLibrary", "GoPath")
_ERRCHECK_TOOL = "@com_github_kisielk_errcheck//:errcheck"
def _errcheck_sh_impl(ctx):
go = go_context(ctx)
gopath = ctx.attr.gopath_dep[GoPath].gopath
print("GOPATH IS ", gopath)
View gomock.bzl
load("@io_bazel_rules_go//go:def.bzl", "go_path")
load("@io_bazel_rules_go//go/private:providers.bzl", "GoLibrary", "GoPath")
_MOCKGEN_TOOL = "@com_github_golang_mock//mockgen"
def _gomock_sh_impl(ctx):
go_toolchain = ctx.toolchains["@io_bazel_rules_go//go:toolchain"]
gopath = "$(pwd)/" + ctx.var["BINDIR"] + "/" + ctx.attr.gopath_dep[GoPath].gopath
View bazeloutputgroups.txt
I do have one question that I haven't answered yet which is: are OutputGroups applied to dependencies or do they only apply the target being run and its dependencies aren't changed? I think it's the latter which is going to make this a lil annoying because of all of the `transitive_$WHATEVER` variables kicking around.
Anyway, here's as far as a I got:
I thought I could use OutputGroups and DefaultInfo at the very top of the stack, such that _go_binary_impl, etc. would look something like:
```
def _go_binary_impl(ctx):
"""go_binary_impl emits actions for compiling and linking a go executable."""
@jmhodges
jmhodges / grab_all_images.sh
Created Apr 16, 2017
Grab pod name, container name, and container image from kubernetes with kubectl
View grab_all_images.sh
#!/bin/bash
kubectl get po --template '{{ range $i, $p := .items }}{{ range $j, $c := $p.spec.containers }}{{ printf "%s %s %s\n" $p.metadata.name $c.name $c.image }}{{ end }}{{ end }}'
@jmhodges
jmhodges / go-sqlite3.bzl
Created Oct 22, 2016
a new_git_repository for go-sqlite3 at 7204887cf3a42df1cfaa5505dc3a3427f6dded8b
View go-sqlite3.bzl
# sqlite3 has CGO deps and the version of rules_go we are using at the time of
# this comment (but maybe this will be fixed in the future!) doesn't have a way
# to get a nice high-level new_go_repository working with cgo code. So, we hack it here.
new_git_repository(
name = "com_github_mattn_go_sqlite3",
remote = "https://github.com/mattn/go-sqlite3.git",
commit = "7204887cf3a42df1cfaa5505dc3a3427f6dded8b",
build_file_content = """
load("@io_bazel_rules_go//go:def.bzl", "cgo_library", "go_library", "go_test", "go_prefix")
go_prefix("github.com/mattn/go-sqlite3")
View reallyfatarrows.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View suffixes.txt
923168 53.7032% cloudflaressl.com *****************************************************
113932 6.6277% cloudflare.com ******
30204 1.7570% tum.de *
25858 1.5042% mpg.de *
13705 0.7973% asu.edu
13634 0.7931% gwstest.net
11823 0.6878% hu-berlin.de
11006 0.6402% badssl.com
10323 0.6005% cornell.edu
9521 0.5539% tu-berlin.de
@jmhodges
jmhodges / output
Created Nov 12, 2015
copyfighter github.com/letsencrypt/boulder/...
View output
# receiver should be made into a pointer
func (revocationCodes).Len() int
# receiver should be made into a pointer
func (revocationCodes).Less(i int, j int) bool
# receiver should be made into a pointer
func (revocationCodes).Swap(i int, j int)
# return value 'certChecker' at index 0 should be made into a pointer
@jmhodges
jmhodges / doc.go
Last active Jul 16, 2019
Generating protobuf Go files with `go generate` and a vendored protobuf package (specifically, vendored with godep).
View doc.go
//go:generate protoc --go_out=import_prefix=github.com/your_github_acct/your_repo/Godeps/_workspace/src/:. your_proto_file.proto
package yourprotopkg
View keybase.md

Keybase proof

I hereby claim:

  • I am jmhodges on github.
  • I am jmhodges (https://keybase.io/jmhodges) on keybase.
  • I have a public key whose fingerprint is 8A35 CDF5 3D9F 1A4C 189D 67F6 3A39 B99B 7493 8DA7

To claim this, I am signing this object:

You can’t perform that action at this time.