-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Backport apiv1 Go binding template directory and build files - Set version to 0.2.0 - Update workflows to run on the 0.2.x branch Signed-off-by: James Taylor <jamest@uk.ibm.com>
- Loading branch information
Showing
19 changed files
with
550 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
# Adapted from https://github.com/bufbuild/buf-example/blob/main/Makefile | ||
|
||
SHELL := /usr/bin/env bash -o pipefail | ||
|
||
# This controls the location of the cache. | ||
PROJECT := fabric-protos-apiv1 | ||
|
||
# This controls the remote HTTPS git location to compare against for breaking changes in CI. | ||
# | ||
# Most CI providers only clone the branch under test and to a certain depth, so when | ||
# running buf breaking in CI, it is generally preferable to compare against | ||
# the remote repository directly. | ||
# | ||
# Basic authentication is available, see https://buf.build/docs/inputs#https for more details. | ||
HTTPS_GIT := https://github.com/hyperledger/fabric-protos.git | ||
|
||
# This controls the remote SSH git location to compare against for breaking changes in CI. | ||
# | ||
# CI providers will typically have an SSH key installed as part of your setup for both | ||
# public and private repositories. Buf knows how to look for an SSH key at ~/.ssh/id_rsa | ||
# and a known hosts file at ~/.ssh/known_hosts or /etc/ssh/known_hosts without any further | ||
# configuration. We demo this with CircleCI. | ||
# | ||
# See https://buf.build/docs/inputs#ssh for more details. | ||
SSH_GIT := ssh://git@github.com/hyperledger/fabric-protos.git | ||
|
||
# This controls the version of buf to install and use. | ||
BUF_VERSION := 1.1.1 | ||
# If true, Buf is installed from source instead of from releases | ||
BUF_INSTALL_FROM_SOURCE := false | ||
|
||
PROTOC_VERSION := 3.19.4 | ||
PROTOC_GEN_GO_VERSION := v1.3.2 | ||
|
||
### Everything below this line is meant to be static, i.e. only adjust the above variables. ### | ||
|
||
UNAME_OS := $(shell uname -s) | ||
UNAME_ARCH := $(shell uname -m) | ||
ifeq ($(UNAME_OS),Darwin) | ||
PLATFORM := osx | ||
PROTOC_ARCH := x86_64 | ||
else | ||
PROTOC_ARCH := $(UNAME_ARCH) | ||
endif | ||
ifeq ($(UNAME_OS),Linux) | ||
PLATFORM := linux | ||
endif | ||
# Buf will be cached to ~/.cache/buf-example. | ||
CACHE_BASE := $(HOME)/.cache/$(PROJECT) | ||
# This allows switching between i.e a Docker container and your local setup without overwriting. | ||
CACHE := $(CACHE_BASE)/$(UNAME_OS)/$(UNAME_ARCH) | ||
# The location where buf will be installed. | ||
CACHE_BIN := $(CACHE)/bin | ||
# Marker files are put into this directory to denote the current version of binaries that are installed. | ||
CACHE_VERSIONS := $(CACHE)/versions | ||
|
||
# Update the $PATH so we can use buf directly | ||
export PATH := $(abspath $(CACHE_BIN)):$(PATH) | ||
# Update GOBIN to point to CACHE_BIN for source installations | ||
export GOBIN := $(abspath $(CACHE_BIN)) | ||
# This is needed to allow versions to be added to Golang modules with go get | ||
export GO111MODULE := on | ||
|
||
# BUF points to the marker file for the installed version. | ||
# | ||
# If BUF_VERSION is changed, the binary will be re-downloaded. | ||
BUF := $(CACHE_VERSIONS)/buf/$(BUF_VERSION) | ||
$(BUF): | ||
@rm -f $(CACHE_BIN)/buf | ||
@mkdir -p $(CACHE_BIN) | ||
ifeq ($(BUF_INSTALL_FROM_SOURCE),true) | ||
$(eval BUF_TMP := $(shell mktemp -d)) | ||
cd $(BUF_TMP); go install github.com/bufbuild/buf/cmd/buf@v$(BUF_VERSION) | ||
@rm -rf $(BUF_TMP) | ||
else | ||
curl -sSL \ | ||
"https://github.com/bufbuild/buf/releases/download/v$(BUF_VERSION)/buf-$(UNAME_OS)-$(UNAME_ARCH)" \ | ||
-o "$(CACHE_BIN)/buf" | ||
chmod +x "$(CACHE_BIN)/buf" | ||
endif | ||
@rm -rf $(dir $(BUF)) | ||
@mkdir -p $(dir $(BUF)) | ||
@touch $(BUF) | ||
|
||
# PROTOC points to the marker file for the installed version. | ||
# | ||
# If PROTOC_VERSION is changed, the binary will be re-downloaded. | ||
PROTOC := $(CACHE_VERSIONS)/protoc/$(PROTOC_VERSION) | ||
$(PROTOC): | ||
@rm -f $(CACHE_BIN)/protoc | ||
@mkdir -p $(CACHE_BIN) | ||
$(eval PROTOC_TMP := $(shell mktemp -d)) | ||
curl -sSL \ | ||
"https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOC_VERSION)/protoc-$(PROTOC_VERSION)-$(PLATFORM)-$(PROTOC_ARCH).zip" \ | ||
-o "$(PROTOC_TMP)/protoc.zip" | ||
unzip -o "$(PROTOC_TMP)/protoc.zip" -d "$(CACHE)" bin/protoc | ||
unzip -o "$(PROTOC_TMP)/protoc.zip" -d "$(CACHE)" include/* | ||
@rm -rf $(PROTOC_TMP) | ||
chmod +x "$(CACHE_BIN)/protoc" | ||
@rm -rf $(dir $(PROTOC)) | ||
@mkdir -p $(dir $(PROTOC)) | ||
@touch $(PROTOC) | ||
|
||
# PROTOC_GEN_GO points to the marker file for the installed version. | ||
# | ||
# If PROTOC_GEN_GO_VERSION is changed, the binary will be re-downloaded. | ||
PROTOC_GEN_GO := $(CACHE_VERSIONS)/protoc-gen-go/$(PROTOC_GEN_GO_VERSION) | ||
$(PROTOC_GEN_GO): | ||
@rm -f $(CACHE_BIN)/protoc-gen-go | ||
@mkdir -p $(CACHE_BIN) | ||
$(eval PROTOC_GEN_GO_TMP := $(shell mktemp -d)) | ||
cd $(PROTOC_GEN_GO_TMP); go install github.com/golang/protobuf/protoc-gen-go@$(PROTOC_GEN_GO_VERSION) | ||
@rm -rf $(PROTOC_GEN_GO_TMP) | ||
@rm -rf $(dir $(PROTOC_GEN_GO)) | ||
@mkdir -p $(dir $(PROTOC_GEN_GO)) | ||
@touch $(PROTOC_GEN_GO) | ||
|
||
.DEFAULT_GOAL := all | ||
|
||
.PHONY: all | ||
all: genprotos | ||
|
||
# deps allows us to install deps without running any checks. | ||
|
||
.PHONY: deps | ||
deps: $(BUF) $(PROTOC) $(PROTOC_GEN_GO) | ||
|
||
.PHONY: genprotos | ||
genprotos: $(BUF) $(PROTOC) $(PROTOC_GEN_GO) | ||
buf generate --template buf.gen-apiv1.yaml | ||
|
||
.PHONY: cleandep | ||
cleandep: | ||
rm -rf $(CACHE_BASE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
|
||
repository: | ||
name: fabric-protos-go | ||
description: Generated Go bindings for fabric-protos | ||
homepage: https://hyperledger.github.io/fabric-protos/ | ||
default_branch: main | ||
has_downloads: false | ||
has_issues: false | ||
has_projects: false | ||
has_wiki: false | ||
archived: false | ||
private: false | ||
allow_squash_merge: true | ||
allow_merge_commit: false | ||
allow_rebase_merge: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Code of Conduct Guidelines | ||
========================== | ||
|
||
Please review the Hyperledger [Code of Conduct](https://wiki.hyperledger.org/community/hyperledger-project-code-of-conduct) | ||
before participating. It is important that we keep things civil. | ||
|
||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
## Contributing | ||
|
||
We welcome contributions to the Hyperledger Fabric Project in many forms, and there's always plenty to do! | ||
|
||
Please visit the [contributors guide](http://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING.html) in the docs to learn how to make contributions to this exciting project. | ||
|
||
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. |
Oops, something went wrong.