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

refactor: add struct 'KpmClient' to manage the settings of kpm #193

Merged
merged 4 commits into from
Sep 25, 2023
Merged

refactor: add struct 'KpmClient' to manage the settings of kpm #193

merged 4 commits into from
Sep 25, 2023

Conversation

zong-zhe
Copy link
Contributor

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

  • N
  • Y

2. What is the scope of this PR (e.g. component or file name):

Add struct 'KpmClient' in pkg/client/client.go to manage the settings of kpm.

Copy the contents of some methods from the pkg/package/package.go and pkg/package/modfile.go into pkg/client/client.go.

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

Before this PR, kpm's methods were controlled through global settings, and the problem was that changing settings would affect all apis.

After this PR, Some methods are moved to pkg/client/client.go as member methods of KpmClient, and these methods are only controlled by KpmClient, and the methods of different KpmClients do not affect each other.

There is no change in the logic of the specific function that has been changed, only some of the original ‘ModFile’ and 'KclPkg' member methods are moved to 'KpmClient'.

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

@zong-zhe zong-zhe added the enhancement New feature or request label Sep 25, 2023
@zong-zhe zong-zhe requested a review from Peefy September 25, 2023 06:17
@zong-zhe zong-zhe self-assigned this Sep 25, 2023
)

// CompileOptions is the input options of 'kpm run'.
type CompileOptions struct {
isVendor bool
hasSettingsYaml bool
entries []string
// Add a writer to control the output of the compiler.
writer io.Writer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Format code.

Copy link
Contributor

@Peefy Peefy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@coveralls
Copy link

Pull Request Test Coverage Report for Build 6296472022

  • 364 of 903 (40.31%) changed or added relevant lines in 19 files are covered.
  • 70 unchanged lines in 7 files lost coverage.
  • Overall coverage decreased (-4.1%) to 38.315%

Changes Missing Coverage Covered Lines Changed/Added Lines %
pkg/settings/settings.go 1 2 50.0%
pkg/cmd/cmd_init.go 0 2 0.0%
pkg/cmd/cmd_login.go 0 2 0.0%
pkg/cmd/cmd_logout.go 0 2 0.0%
pkg/cmd/cmd_pkg.go 0 2 0.0%
pkg/git/git.go 0 2 0.0%
pkg/cmd/cmd_metadata.go 0 3 0.0%
pkg/cmd/cmd_pull.go 0 4 0.0%
pkg/api/kpm_pkg.go 0 5 0.0%
pkg/cmd/cmd_run.go 0 6 0.0%
Files with Coverage Reduction New Missed Lines %
pkg/api/kpm_run.go 1 47.47%
pkg/cmd/cmd_pull.go 1 0.0%
pkg/oci/oci.go 1 7.17%
pkg/opt/opt.go 10 9.89%
pkg/package/toml.go 10 71.01%
pkg/package/modfile.go 23 60.31%
pkg/package/package.go 24 48.51%
Totals Coverage Status
Change from base Build 6170701322: -4.1%
Covered Lines: 1223
Relevant Lines: 3192

💛 - Coveralls

@zong-zhe zong-zhe merged commit 26ede83 into kcl-lang:main Sep 25, 2023
6 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Sep 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
No open projects
Status: v0.7.0 Release Done
Development

Successfully merging this pull request may close these issues.

Enhancement: kpm add command displaying optimization
3 participants