From 0177505c58a8f41feca7f043eed7f5e7d1bbdc10 Mon Sep 17 00:00:00 2001 From: Dmitry Kovba Date: Thu, 30 Oct 2025 11:13:31 -0700 Subject: [PATCH] Improvements to `Protobuf.Makefile` (#356) Improvements to `Protobuf.Makefile`. Also see https://github.com/apple/container/pull/821. --- Protobuf.Makefile | 40 +++++++++++++++++++++++++++++----------- licenserc.toml | 1 + 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/Protobuf.Makefile b/Protobuf.Makefile index cfc6f9fb..3af1aaf2 100644 --- a/Protobuf.Makefile +++ b/Protobuf.Makefile @@ -1,12 +1,26 @@ +# Copyright © 2025 Apple Inc. and the Containerization project authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + LOCAL_DIR := $(ROOT_DIR)/.local -LOCALBIN := $(LOCAL_DIR)/bin +LOCAL_BIN_DIR := $(LOCAL_DIR)/bin -## Versions -PROTOC_VERSION=26.1 +# Versions +PROTOC_VERSION := 26.1 -# protoc binary installation -PROTOC_ZIP = protoc-$(PROTOC_VERSION)-osx-universal_binary.zip -PROTOC = $(LOCALBIN)/protoc@$(PROTOC_VERSION)/protoc +# Protoc binary installation +PROTOC_ZIP := protoc-$(PROTOC_VERSION)-osx-universal_binary.zip +PROTOC := $(LOCAL_BIN_DIR)/protoc@$(PROTOC_VERSION)/protoc $(PROTOC): @echo Downloading protocol buffers... @mkdir -p $(LOCAL_DIR) @@ -16,14 +30,13 @@ $(PROTOC): @unzip -o $(PROTOC_ZIP) 'include/*' -d $(dir $@) @rm -f $(PROTOC_ZIP) -protoc_gen_grpc_swift: - swift build --product protoc-gen-grpc-swift - +.PHONY: protoc-gen-swift protoc-gen-swift: - swift build --product protoc-gen-swift + @$(SWIFT) build --product protoc-gen-swift + @$(SWIFT) build --product protoc-gen-grpc-swift .PHONY: protos -protos: $(PROTOC) protoc_gen_grpc_swift protoc-gen-swift +protos: $(PROTOC) protoc-gen-swift @echo Generating protocol buffers source code... @$(PROTOC) Sources/Containerization/SandboxContext/SandboxContext.proto \ --plugin=protoc-gen-grpc-swift=$(BUILD_BIN_DIR)/protoc-gen-grpc-swift \ @@ -35,3 +48,8 @@ protos: $(PROTOC) protoc_gen_grpc_swift protoc-gen-swift --swift_opt=Visibility=Public \ -I. @"$(MAKE)" update-licenses + +.PHONY: clean-proto-tools +clean-proto-tools: + @echo Cleaning proto tools... + @rm -rf $(LOCAL_DIR)/bin/protoc* diff --git a/licenserc.toml b/licenserc.toml index a7e2c041..43b81fcf 100644 --- a/licenserc.toml +++ b/licenserc.toml @@ -4,6 +4,7 @@ headerPath = "scripts/license-header.txt" includes = [ "Makefile", + "*.Makefile", "*.swift", "*.h", "*.cpp",