Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] feat(tool): add template render subcommand using .tpl #1430

Open
wants to merge 45 commits into
base: develop
Choose a base branch
from

Conversation

ShawnJeffersonWang
Copy link

What type of PR is this?

feat

Check the PR title.

  • This PR title match the format: <type>(optional scope): <description>
  • The description of this PR title is user-oriented and clear enough for others to understand.
  • Attach the PR updating the user documentation if the current PR requires user awareness at the usage level. User docs repo

(Optional) Translate the PR title into Chinese.

feat(工具):支持template render子命令根据.tpl文件渲染生成模板文件

(Optional) More detailed description for this PR(en: English/zh: Chinese).

en:
How to use
kitex template render ${tpl dir} -module ${module} xxx.thrift

@ShawnJeffersonWang ShawnJeffersonWang requested review from a team as code owners July 10, 2024 09:55
@ShawnJeffersonWang ShawnJeffersonWang changed the title Dev feat(tool): add template render subcommand using tpl Jul 10, 2024
@ShawnJeffersonWang ShawnJeffersonWang changed the title feat(tool): add template render subcommand using tpl feat(tool): add template render subcommand using .tpl Jul 10, 2024
@DMwangnima DMwangnima self-assigned this Jul 10, 2024
tool/internal_pkg/util/command.go Outdated Show resolved Hide resolved
tool/internal_pkg/util/command.go Show resolved Hide resolved
tool/internal_pkg/util/command.go Outdated Show resolved Hide resolved
tool/internal_pkg/util/command.go Outdated Show resolved Hide resolved
tool/internal_pkg/generator/generator.go Outdated Show resolved Hide resolved
tool/cmd/kitex/args/args.go Outdated Show resolved Hide resolved
tool/internal_pkg/generator/custom_template.go Outdated Show resolved Hide resolved
@DMwangnima DMwangnima changed the title feat(tool): add template render subcommand using .tpl [WIP] feat(tool): add template render subcommand using .tpl Jul 17, 2024
Copy link

codecov bot commented Jul 21, 2024

Codecov Report

Attention: Patch coverage is 93.10345% with 2 lines in your changes missing coverage. Please review.

Please upload report for BASE (feat/new_custom_template@573dc2b). Learn more about missing BASE report.

Files Patch % Lines
pkg/discovery/discovery.go 80.00% 2 Missing ⚠️
Additional details and impacted files
@@                     Coverage Diff                     @@
##             feat/new_custom_template    #1430   +/-   ##
===========================================================
  Coverage                            ?   70.40%           
===========================================================
  Files                               ?      292           
  Lines                               ?    21032           
  Branches                            ?        0           
===========================================================
  Hits                                ?    14808           
  Misses                              ?     4994           
  Partials                            ?     1230           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@DMwangnima DMwangnima changed the base branch from feat/new_custom_template to develop July 29, 2024 02:27
ShawnJeffersonWang and others added 23 commits July 31, 2024 20:44
also:

fix(server): invoker return err if no apache codec
fix(server): listening on loopback addr
Signed-off-by: shawn <[email protected]>
Signed-off-by: shawn <[email protected]>

fix: fix some issue

Signed-off-by: shawn <[email protected]>

perf: custom allocator for fast codec ReadString/ReadBinary (cloudwego#1427)

chore: remove useless reflection api (cloudwego#1433)

optimize(lb): rebalance when instance weights updated (cloudwego#1397)

fix: support setting PurePayload Transport Protocol (cloudwego#1436)

# Conflicts:
#	internal/generic/thrift/http_fallback.go
#	pkg/protocol/bthrift/binary.go
#	pkg/rpcinfo/rpcconfig.go
#	pkg/rpcinfo/rpcconfig_test.go
#	tool/cmd/kitex/args/tpl_args.go
#	tool/cmd/kitex/main.go
#	tool/internal_pkg/generator/generator.go
#	tool/internal_pkg/pluginmode/thriftgo/plugin.go
#	tool/internal_pkg/util/command.go
Signed-off-by: shawn <[email protected]>

bug fixes: fix bug in generator_test

Signed-off-by: shawn <[email protected]>

bug fixes: add gen-path

Signed-off-by: shawn <[email protected]>

bug fixes: treat option as unknown command

Signed-off-by: shawn <[email protected]>

bug fix: fix unused code in command and flag

Signed-off-by: shawn <[email protected]>

bug fixes: fix lint

Signed-off-by: shawn <[email protected]>

fix: use gofumpt -extra to fix golanci lint

Signed-off-by: shawn <[email protected]>

fix: use gofumpt to avoid golangci lint

Signed-off-by: shawn <[email protected]>

add InitType

perf: custom allocator for fast codec ReadString/ReadBinary (cloudwego#1427)

chore: remove useless reflection api (cloudwego#1433)

optimize(lb): rebalance when instance weights updated (cloudwego#1397)

fix: support setting PurePayload Transport Protocol (cloudwego#1436)

fix: fix a bug "unknown service xxx" when using CombineService client by not writing IDLServiceName and searching serviceInfo by method name (cloudwego#1402)

fix: support setting PurePayload with new style (cloudwego#1438)

refactor(multi-services): refactoring service and method routing for multi-services (cloudwego#1439)

refactor: move apache code to separated pkg (cloudwego#1381)

Co-authored-by: QihengZhou <[email protected]>
Co-authored-by: Yi Duan <[email protected]>

refactor(generic): refactor existing generic to have new ServiceInfo which has the generic's reader and writer info directly (cloudwego#1408)

chore: upgrade go directive version to 1.17 of go.mod (cloudwego#1415)

refactor: get rid of apache TApplicationException (cloudwego#1389)

feat(generic): support grpc json generic for client (cloudwego#1411)

feat: add PrependError for thriftgo (cloudwego#1420)

feat(thrift): generic fastcodec (cloudwego#1424)

feat(tool): no apache for fastcodec (cloudwego#1426)

* use bthrift.PrependError
* updated kitex tool MinDepVersion to 0.11.0
* fixed `undefined: bthrift.KitexUnusedProtection`

chore: fixed undefined KitexUnusedProtection (cloudwego#1428)

test: works without apache code (cloudwego#1429)

chore: update CI  version and readme community (cloudwego#1431)

refactor: new generic interface without thrift apache (cloudwego#1434)

fix(generic): fix payload length check for http generic (cloudwego#1442)

chore: pick and fix conflict commits from develop branch (cloudwego#1457)

Co-authored-by: Jayant <[email protected]>

chore: update dependency (cloudwego#1447)

chore(ci): disable cache for lint and staticchecks (cloudwego#1451)

refactor(test): perf optimize and log loc correct (cloudwego#1455)

chore(ci): speed up multiple ci processes 8min -> 1min (cloudwego#1454)

* rm unused codeconv, it didn't work as expected due to quota and user experience
* don't use cache for self-hosted runners
* cache for github hosted runners

hotfix: multi service registry issue

chore(ci): optimized bench tests. it takes <1m now (cloudwego#1461)

chore(test): fix xorshift64 in consist_test.go (cloudwego#1462)

chore: fix grpc keepalive test by start server responsiblly (cloudwego#1463)

refactor: deprecate bthrift, use cloudwego/gopkg (cloudwego#1441)

* tool: generates code for using cloudwego/gopkg
* internal/mocks: updated thrift using the latest tool
* pkg/utils/fastthrift: moved to cloudwego/gopkg
* pkg/remote/codec/thrift: uses skipdecoder of cloudwego/gopkg
* pkg/remote/codec/thrift: add fastcodec as a fallback, and always use fastcodec for Ex
* pkg/generic: uses cloudwego/gopkg

for pkg/protocol/bthrift:

* type BinaryWriter = gopkgthrift.NocopyWriter
* Removed ThriftFastCodec, moved to cloudwego/gopkg before releasing
* Removed bthrift/exception.go, moved to cloudwego/gopkg before releasing
* Removed bthrift/test, only for unknownfields testing
* bthrift/unknown: moved to cloudwego/gopkg

refactor(generic): remove apache thrift.TProtocol from generic (cloudwego#1450)
add test for command and flag

resolve conflicts

refactor: rm apache thrift in pkg/generic & netpollmux (cloudwego#1470)

fix: allow HEADERS frame with empty header block fragment (cloudwego#1466)

refactor: rm apache thrift in internal/mocks (cloudwego#1474)

also:

fix(server): invoker return err if no apache codec
fix(server): listening on loopback addr

chore: remove github.com/stretchr/testify direct dependency (cloudwego#1475)

chore: upgrade gopkg to v0.1.0 (cloudwego#1477)

perf: custom allocator for fast codec ReadString/ReadBinary (cloudwego#1427)

# Conflicts:
#	pkg/protocol/bthrift/binary.go

resolve conflicts

feat: add init

Signed-off-by: shawn <[email protected]>
Signed-off-by: shawn <[email protected]>

feat: add subcommand clean

Signed-off-by: shawn <[email protected]>

feat: add kitex_render_meta.yaml for render

Signed-off-by: shawn <[email protected]>
Signed-off-by: shawn <[email protected]>

chore(generic): add generic base using gopkg base (cloudwego#1482)

fix(gonet): adjust gonet server read timeout to avoid read error (cloudwego#1481)

fix: remove redundant line

Signed-off-by: shawn <[email protected]>

fix: fix single command

Signed-off-by: shawn <[email protected]>

feat: add userDefinedMiddleware

Signed-off-by: shawn <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants