diff --git a/.github/rename_project.sh b/.github/rename_project.sh new file mode 100644 index 0000000..bcb856d --- /dev/null +++ b/.github/rename_project.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +while getopts a:n:u:d: flag +do + case "${flag}" in + a) author=${OPTARG};; + n) name=${OPTARG};; + u) urlname=${OPTARG};; + d) description=${OPTARG};; + esac +done + +echo "Author: $author"; +echo "Project Name: $name"; +echo "Project URL name: $urlname"; +echo "Description: $description"; + +echo "Renaming project..." + +original_author="author_name" +original_name="project_name" +original_urlname="project_urlname" +original_description="project_description" +# for filename in $(find . -name "*.*") +for filename in $(git ls-files) +do + sed -i "s/$original_author/$author/g" $filename + sed -i "s/$original_name/$name/g" $filename + sed -i "s/$original_urlname/$urlname/g" $filename + sed -i "s/$original_description/$description/g" $filename + echo "Renamed $filename" +done + +mv project_name $name + +# This command runs only once on GHA! +rm -rf .github/template.yml \ No newline at end of file diff --git a/.github/template.yml b/.github/template.yml new file mode 100644 index 0000000..95f94f9 --- /dev/null +++ b/.github/template.yml @@ -0,0 +1 @@ +author: LikeRainDay \ No newline at end of file diff --git a/.github/workflows/rename_project.yml b/.github/workflows/rename_project.yml new file mode 100644 index 0000000..39d7092 --- /dev/null +++ b/.github/workflows/rename_project.yml @@ -0,0 +1,43 @@ +name: Rename the project from template + +on: [push] + +permissions: write-all + +jobs: + rename-project: + if: ${{ !contains(github.repository,'/kratos-layout') }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.head_ref }} + + - run: chmod +x .github/rename_project.sh + shell: bash + + - run: echo "REPOSITORY_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}' | tr '-' '_' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + shell: bash + + - run: echo "REPOSITORY_URLNAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV + shell: bash + + - run: echo "REPOSITORY_OWNER=$(echo '${{ github.repository }}' | awk -F '/' '{print $1}')" >> $GITHUB_ENV + shell: bash + + - name: Is this still a template + id: is_template + run: echo "::set-output name=is_template::$(ls .github/template.yml &> /dev/null && echo true || echo false)" + + - name: Rename the project + if: steps.is_template.outputs.is_template == 'true' + run: | + echo "Renaming the project with -a(author) ${{ env.REPOSITORY_OWNER }} -n(name) ${{ env.REPOSITORY_NAME }} -u(urlname) ${{ env.REPOSITORY_URLNAME }}" + .github/rename_project.sh -a ${{ env.REPOSITORY_OWNER }} -n ${{ env.REPOSITORY_NAME }} -u ${{ env.REPOSITORY_URLNAME }} -d "Awesome ${{ env.REPOSITORY_NAME }} created by ${{ env.REPOSITORY_OWNER }}" + + - uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: "✅ Ready to clone and code." + # commit_options: '--amend --no-edit' + push_options: --force \ No newline at end of file diff --git a/api/helloworld/v1/error_reason.proto b/api/helloworld/v1/error_reason.proto index dd047ef..2bd0151 100644 --- a/api/helloworld/v1/error_reason.proto +++ b/api/helloworld/v1/error_reason.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package helloworld.v1; -option go_package = "github.com/go-kratos/kratos-layout/api/helloworld/v1;v1"; +option go_package = "github.com/author_name/project_name/api/helloworld/v1;v1"; option java_multiple_files = true; option java_package = "helloworld.v1"; option objc_class_prefix = "APIHelloworldV1"; diff --git a/api/helloworld/v1/greeter.proto b/api/helloworld/v1/greeter.proto index 5e1334b..8471dcc 100644 --- a/api/helloworld/v1/greeter.proto +++ b/api/helloworld/v1/greeter.proto @@ -4,7 +4,7 @@ package helloworld.v1; import "google/api/annotations.proto"; -option go_package = "github.com/go-kratos/kratos-layout/api/helloworld/v1;v1"; +option go_package = "github.com/author_name/project_name/api/helloworld/v1;v1"; option java_multiple_files = true; option java_package = "dev.kratos.api.helloworld.v1"; option java_outer_classname = "HelloworldProtoV1"; diff --git a/cmd/server/main.go b/cmd/server/main.go index 78e8c4a..d8f3759 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -2,11 +2,11 @@ package main import ( "flag" + "github.com/go-kratos/kratos/v2" "os" - "github.com/go-kratos/kratos-layout/internal/conf" + "github.com/author_name/project_name/internal/conf" - "github.com/go-kratos/kratos/v2" "github.com/go-kratos/kratos/v2/config" "github.com/go-kratos/kratos/v2/config/file" "github.com/go-kratos/kratos/v2/log" diff --git a/cmd/server/wire.go b/cmd/server/wire.go index a5b12d1..bf7bdc1 100644 --- a/cmd/server/wire.go +++ b/cmd/server/wire.go @@ -6,11 +6,11 @@ package main import ( - "github.com/go-kratos/kratos-layout/internal/biz" - "github.com/go-kratos/kratos-layout/internal/conf" - "github.com/go-kratos/kratos-layout/internal/data" - "github.com/go-kratos/kratos-layout/internal/server" - "github.com/go-kratos/kratos-layout/internal/service" + "github.com/author_name/project_name/internal/biz" + "github.com/author_name/project_name/internal/conf" + "github.com/author_name/project_name/internal/data" + "github.com/author_name/project_name/internal/server" + "github.com/author_name/project_name/internal/service" "github.com/go-kratos/kratos/v2" "github.com/go-kratos/kratos/v2/log" diff --git a/cmd/server/wire_gen.go b/cmd/server/wire_gen.go index a73a320..d74dcd9 100644 --- a/cmd/server/wire_gen.go +++ b/cmd/server/wire_gen.go @@ -7,16 +7,19 @@ package main import ( - "github.com/go-kratos/kratos-layout/internal/biz" - "github.com/go-kratos/kratos-layout/internal/conf" - "github.com/go-kratos/kratos-layout/internal/data" - "github.com/go-kratos/kratos-layout/internal/server" - "github.com/go-kratos/kratos-layout/internal/service" - + "github.com/author_name/project_name/internal/biz" + "github.com/author_name/project_name/internal/conf" + "github.com/author_name/project_name/internal/data" + "github.com/author_name/project_name/internal/server" + "github.com/author_name/project_name/internal/service" "github.com/go-kratos/kratos/v2" "github.com/go-kratos/kratos/v2/log" ) +import ( + _ "go.uber.org/automaxprocs" +) + // Injectors from wire.go: // wireApp init kratos application. diff --git a/go.mod b/go.mod index 80e63a1..14963ad 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/go-kratos/kratos-layout +module github.com/author_name/project_name go 1.17 @@ -17,15 +17,18 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/form/v4 v4.2.0 // indirect github.com/golang/protobuf v1.5.2 // indirect + github.com/google/subcommands v1.0.1 // indirect github.com/google/uuid v1.3.0 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/imdario/mergo v0.3.12 // indirect github.com/kr/text v0.2.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect go.opentelemetry.io/otel v1.7.0 // indirect go.opentelemetry.io/otel/trace v1.7.0 // indirect golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 // indirect golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 // indirect golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a // indirect golang.org/x/text v0.3.7 // indirect + golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 // indirect gopkg.in/yaml.v3 v3.0.0 // indirect ) diff --git a/go.sum b/go.sum index c682c4c..89c3ece 100644 --- a/go.sum +++ b/go.sum @@ -64,6 +64,7 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/subcommands v1.0.1 h1:/eqq+otEXm5vhfBrbREPCSVQbvofip6kIz+mX5TUH7k= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -158,6 +159,7 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 h1:5Beo0mZN8dRzgrMMkDp0jc8YXQKx9DiJ2k1dkvGsn5A= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= diff --git a/internal/biz/greeter.go b/internal/biz/greeter.go index 28d031c..e316fdd 100644 --- a/internal/biz/greeter.go +++ b/internal/biz/greeter.go @@ -3,7 +3,7 @@ package biz import ( "context" - v1 "github.com/go-kratos/kratos-layout/api/helloworld/v1" + v1 "github.com/author_name/project_name/api/helloworld/v1" "github.com/go-kratos/kratos/v2/errors" "github.com/go-kratos/kratos/v2/log" diff --git a/internal/data/data.go b/internal/data/data.go index 1ce6989..ad5638e 100644 --- a/internal/data/data.go +++ b/internal/data/data.go @@ -1,7 +1,7 @@ package data import ( - "github.com/go-kratos/kratos-layout/internal/conf" + "github.com/author_name/project_name/internal/conf" "github.com/go-kratos/kratos/v2/log" "github.com/google/wire" diff --git a/internal/data/greeter.go b/internal/data/greeter.go index d496921..bcbb5ab 100644 --- a/internal/data/greeter.go +++ b/internal/data/greeter.go @@ -3,7 +3,7 @@ package data import ( "context" - "github.com/go-kratos/kratos-layout/internal/biz" + "github.com/author_name/project_name/internal/biz" "github.com/go-kratos/kratos/v2/log" ) diff --git a/internal/server/grpc.go b/internal/server/grpc.go index 24272bb..920cd1c 100644 --- a/internal/server/grpc.go +++ b/internal/server/grpc.go @@ -1,9 +1,9 @@ package server import ( - v1 "github.com/go-kratos/kratos-layout/api/helloworld/v1" - "github.com/go-kratos/kratos-layout/internal/conf" - "github.com/go-kratos/kratos-layout/internal/service" + v1 "github.com/author_name/project_name/api/helloworld/v1" + "github.com/author_name/project_name/internal/conf" + "github.com/author_name/project_name/internal/service" "github.com/go-kratos/kratos/v2/log" "github.com/go-kratos/kratos/v2/middleware/recovery" diff --git a/internal/server/http.go b/internal/server/http.go index 3a68434..79cf67e 100644 --- a/internal/server/http.go +++ b/internal/server/http.go @@ -1,9 +1,9 @@ package server import ( - v1 "github.com/go-kratos/kratos-layout/api/helloworld/v1" - "github.com/go-kratos/kratos-layout/internal/conf" - "github.com/go-kratos/kratos-layout/internal/service" + v1 "github.com/author_name/project_name/api/helloworld/v1" + "github.com/author_name/project_name/internal/conf" + "github.com/author_name/project_name/internal/service" "github.com/go-kratos/kratos/v2/log" "github.com/go-kratos/kratos/v2/middleware/recovery" diff --git a/internal/service/greeter.go b/internal/service/greeter.go index a05ee67..f7aec24 100644 --- a/internal/service/greeter.go +++ b/internal/service/greeter.go @@ -3,8 +3,8 @@ package service import ( "context" - v1 "github.com/go-kratos/kratos-layout/api/helloworld/v1" - "github.com/go-kratos/kratos-layout/internal/biz" + v1 "github.com/author_name/project_name/api/helloworld/v1" + "github.com/author_name/project_name/internal/biz" ) // GreeterService is a greeter service. diff --git a/openapi.yaml b/openapi.yaml index 6867057..f090b47 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -11,7 +11,6 @@ paths: get: tags: - Greeter - - subgroup description: Sends a greeting operationId: Greeter_SayHello parameters: