mirror of
https://github.com/temporalio/temporal.git
synced 2026-08-30 18:41:49 -07:00
## What changed?
<!-- Describe what has changed in this PR -->
Remove license header from every file. Because it is really hard to
follow in this PR here is the summary:
1. License header is removed from all `.go` and `.proto` files
:fireworks::fireworks:🎆.
2. `LICENSE` file in the root directory has only Temporal and Uber
copyrights.
3. 5 other `LICENSE` files added to the packages which have copyrights
different from Temporal and Uber: Datadog, Xargin, "Mat Ryer, Tyler
Bunnell and contributors".
4. `license_file` flag is removed from all code generation tools.
5. `copyright_file` flag is removed from `go:generate mockgen`
directive.
6. All copyright related targets are removed from `Makefile`.
7. Updated Temporal copyright year to 2025 everywhere.
## Why?
<!-- Tell your future self why have you made these changes -->
I double checked with legal department that it is not needed to have
license header in every file. One file per repo is enough. I put all
copyrights to the root `LICENSE` file and removed header from all other
files. Also updated tools and `Makefile`.
50 lines
2.0 KiB
Bash
Executable File
50 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
color() { printf "\e[1;36m%s\e[0m\n" "$*"; }
|
|
|
|
api=$PROTO_OUT
|
|
new=$api.new
|
|
|
|
color "Generating protos..."
|
|
|
|
rm -rf "$new" && mkdir -p "$new"
|
|
|
|
$PROTOGEN \
|
|
--descriptor_set_in="$API_BINPB" \
|
|
--root="$PROTO_ROOT"/internal \
|
|
--rewrite-enum=BuildId_State:BuildId \
|
|
--output="$new" \
|
|
-p go-grpc_out=paths=source_relative:"$new" \
|
|
-p go-helpers_out=paths=source_relative:"$new"
|
|
|
|
color "Run goimports for proto files..."
|
|
$GOIMPORTS -w "$new"
|
|
|
|
color "Generate proto mocks..."
|
|
find "$new" -name service.pb.go -o -name service_grpc.pb.go | while read -r src; do
|
|
dst=$(echo "$src" | sed -e 's,service/,servicemock/,' -e 's,[.]go$,.mock.go,')
|
|
pkg=$(basename "$(dirname "$(dirname "$dst")")")
|
|
$MOCKGEN -package "$pkg" -source "$src" -destination "$dst"
|
|
# Since we're generating mocks from files in incorrect locations, mockgen
|
|
# writes incorrect imports. Fix them manually. The awkward sed/rm invocation
|
|
# is to work on linux and macos.
|
|
sed -i.replaced "s,$new/temporal/server/,," "$dst"
|
|
rm -f "$dst.replaced"
|
|
done
|
|
|
|
color "Modify history service server interface..."
|
|
sed -i.bak \
|
|
-e 's/GetWorkflowExecutionHistory(context\.Context, \*GetWorkflowExecutionHistoryRequest) (\*GetWorkflowExecutionHistoryResponse, error)/GetWorkflowExecutionHistory(context.Context, *GetWorkflowExecutionHistoryRequest) (*GetWorkflowExecutionHistoryResponseWithRaw, error)/g' \
|
|
-e 's/RecordWorkflowTaskStarted(context\.Context, \*RecordWorkflowTaskStartedRequest) (\*RecordWorkflowTaskStartedResponse, error)/RecordWorkflowTaskStarted(context.Context, *RecordWorkflowTaskStartedRequest) (*RecordWorkflowTaskStartedResponseWithRawHistory, error)/g' \
|
|
"$new"/temporal/server/api/historyservice/v1/service_grpc.pb.go
|
|
rm "$new"/temporal/server/api/historyservice/v1/service_grpc.pb.go.bak
|
|
|
|
color "Moving proto files into place..."
|
|
old=$api.old
|
|
[[ -d "$api" ]] && mv -f "$api" "$old"
|
|
mkdir -p "$api"
|
|
mv -f "$new"/temporal/server/api/* "$api"/
|
|
rm -rf "$new" "$old"
|