-
Notifications
You must be signed in to change notification settings - Fork 49
feat: add LFX guide #270
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
Merged
Merged
feat: add LFX guide #270
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
--- | ||
slug: 2024-02-05-lfs-guide | ||
title: | ||
title: 2024 LFX Mentorship Internship Launch: KCL Open Source Community Welcomes Your Participation!!! | ||
authors: | ||
name: KCL Team | ||
title: KCL Team | ||
tags: [KCL, LFX-Mentorship] | ||
--- | ||
|
||
[KCL](https://github.com/kcl-lang) is a constraint-based record and functional language hosted by Cloud Native Computing Foundation (CNCF) that enhances the writing of complex configurations, including those for cloud-native scenarios. With its advanced programming language technology and practices, KCL is dedicated to promoting better modularity, scalability, and stability for configurations. It enables simpler logic writing and offers ease of automation APIs and integration with homegrown systems. | ||
|
||
**_KCL Website: [https://kcl-lang.io](https://kcl-lang.io)_**\ | ||
**_KCL Github Repo: [https://github.com/kcl-lang](https://github.com/kcl-lang)_** | ||
|
||
For those interested in cloud-native, platform engineering,compiler, package management tools, and IDEs, we invite you to apply for the 2024 Spring Linux Foundation LFX Mentorship project. | ||
|
||
## LFX Mentorship Project | ||
|
||
We have three Mentorship projects, covering package management tools, compiler, and IDEs. | ||
|
||
### 1. Add version management for KCL package management tool | ||
|
||
KCL package management tool (kpm) currently supports uploading, downloading, and distributing KCL packages, but does not support version management of KCL packages. In the process of using kpm to add third-party dependencies to KCL package, kpm will automatically download all third-party dependencies based on the dependency relationship. If different versions of the same package appear during the download, the corresponding selection strategy should be provided according to the package version management policy to select the appropriate version for download. | ||
|
||
In this project, you need to add the package version management part of kpm to ensure that kpm can select the appropriate third-party dependencies. | ||
|
||
- More details: https://github.com/kcl-lang/kpm/issues/246 | ||
- Pretest:https://github.com/kcl-lang/kpm/issues/263 | ||
- Apply Link: https://mentorship.lfx.linuxfoundation.org/project/06b5baee-bdcd-4f5e-9a1a-454191445a01 | ||
|
||
### 2. KCL IDE Quick Fix | ||
|
||
For KCL IDE, develop a quick fix feature. When a KCL program has a compilation error in the IDE, the Quick Fix feature can provide quick problem fixes at the location of the KCL program error based on the user's error type. | ||
|
||
In this project, you need to develop different Quick Fix functions for IDE based on the error type of the KCL program. | ||
|
||
- More Details: https://github.com/kcl-lang/kcl/issues/997 | ||
- Pretest: https://github.com/kcl-lang/kcl/issues/1020 | ||
- Apply Link: https://mentorship.lfx.linuxfoundation.org/project/391edda7-239d-4471-a36a-c03c24e024cb | ||
|
||
### 3. KCL IDE automatically loads KCL third-party dependencies | ||
|
||
KCL IDE is the most direct interface for KCL users. It often fails to find third-party dependencies. Currently, KCL's package management tool kpm has provided the ability to automatically download and update third-party dependencies, but users still need to update third-party libraries through the command line, which affects the user's development experience. Therefore, KCL IDE needs to be integrated with KCL's package management tool kpm to provide the ability to automatically download and update third-party libraries for the IDE. | ||
|
||
In this project, you need to use the ability of kpm to implement common functions in the IDE, such as automatically downloading third-party dependencies, automatically updating third-party dependencies when kcl.mod changes, and Quick Fix triggering third-party dependencies automatic download, to ensure that KCL IDE can provide a more complete development experience with the support of package management tools. | ||
|
||
- More Details:https://github.com/kcl-lang/kcl/issues/998 | ||
- Pretest:https://github.com/kcl-lang/kcl/issues/1031 | ||
- Apply Link://mentorship.lfx.linuxfoundation.org/project/59d5fb6c-153d-4e46-9d1f-2948641b0471 | ||
|
||
### 4. How to Apply | ||
|
||
Apply for your favorite project on the LFX mentorship platform. You can visit the LFX mentorship platform through the following link. The application starts on January 29, 2024, and ends on February 13, 2024. | ||
|
||
- https://mentorship.lfx.linuxfoundation.org/ | ||
|
||
If you have any questions, please feel free to get more information directly from the corresponding issue or discuss with us: | ||
|
||
- KCL package version management https://github.com/kcl-lang/kpm/issues/246 | ||
|
||
- KCL Quick Fix https://github.com/kcl-lang/kcl/issues/997 | ||
|
||
- KCL IDE dependency update https://github.com/kcl-lang/kcl/issues/998 | ||
|
64 changes: 64 additions & 0 deletions
64
i18n/zh-CN/docusaurus-plugin-content-blog/2024-02-05-lfx-guide/index.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
--- | ||
slug: 2024-02-05-lfs-guide | ||
title: 2024 LFX Mentorship 实习开启:KCL 开源社区欢迎你的参与 !!! | ||
authors: | ||
name: KCL 团队 | ||
title: KCL 团队 | ||
tags: [KCL, Biweekly-Newsletter] | ||
--- | ||
|
||
[KCL](https://github.com/kcl-lang) 是一个 CNCF 基金会托管的基于约束的记录及函数语言,期望通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。 | ||
|
||
**_KCL 官网:[https://kcl-lang.io](https://kcl-lang.io)_**\ | ||
**_KCL Github 仓库:[https://github.com/kcl-lang](https://github.com/kcl-lang)_** | ||
|
||
对云原生、平台工程、语言编译器、语言包管理工具和语言 IDE 感兴趣的小伙伴,我们邀请你申请 KCL 的 2024 春季 Linux 基金会 LFX Mentorship 项目。 | ||
|
||
## LFX Mentorship 项目 | ||
|
||
我们有三个 Mentorship 项目,内容涵盖包管理工具,语言编译器和语言 IDE 三个方面。 | ||
|
||
### 1. 为 KCL 包管理工具添加版本管理支持 | ||
|
||
KCL 目前的包管理工具(kpm)目前支持上传,下载等分发 KCL 包的功能,不支持 KCL 包的版本管理。在使用 kpm 为 KCL 添加三方库依赖的过程中,kpm 会根据依赖关系自动下载全部的三方库依赖,如果在下载的过程中出现相同包的不同版本,应该根据包版本管理策略提供对应的选择策略,选择合适的版本下载。 | ||
|
||
在此项目中,你需要为 kpm 增加包版本管理部分的功能,使 kpm 在管理三方库的过程中能够根据依赖情况,选择合适的三方库进行下载,确保编译过程的正常进行。 | ||
|
||
- 查看详情:https://github.com/kcl-lang/kpm/issues/246 | ||
- Pretest:https://github.com/kcl-lang/kpm/issues/263 | ||
- 申请链接:https://mentorship.lfx.linuxfoundation.org/project/06b5baee-bdcd-4f5e-9a1a-454191445a01 | ||
|
||
### 2. KCL IDE 的快速修复 | ||
|
||
为 KCL IDE 开发快速修复功能,当 KCL 程序在 IDE 中出现编译错误时,Quick Fix 功能能够根据用户的错误类型,在 KCL 程序错误的位置提供快速的问题修复。 | ||
|
||
在此项目中,你需要根据 KCL 程序的错误类型,为用户 IDE 开发不同的 Quick Fix 功能,降低用户开发门槛。 | ||
|
||
- 查看详情:https://github.com/kcl-lang/kcl/issues/997 | ||
- Pretest:https://github.com/kcl-lang/kcl/issues/1020 | ||
- 申请链接:https://mentorship.lfx.linuxfoundation.org/project/391edda7-239d-4471-a36a-c03c24e024cb | ||
|
||
### 3. KCL IDE 自动加载 KCL 三方库。 | ||
|
||
KCL IDE 作为 KCL 用户最直接的开发界面,要想提供良好的用户体验,除了提供语言的高亮,跳转,补全等基本功能外,还需要保证编译过程的稳定。但是目前 KCL 的 IDE 经常会因为三方库找不到而导致编译错误,目前 KCL 的包管理工具 kpm 已经提供了自动下载和更新三方库的能力,但是仍然需要用户通过命令行的方式更新三方库,这使得用户的开发体验受到影响,因此 KCL IDE 需要与 KCL 的包管理工具 kpm 进行集成,通过 kpm 为 IDE 提供三方库的自动下载更新的能力。 | ||
|
||
在此项目中,你需要借助 kpm 的能力,实现 IDE 中常见的如:加载 KCL 包自动下载三方库,kcl.mod 变更时自动更新三方库和 Quick Fix 触发三方库自动下载等功能,保证 KCL IDE 在包管理工具的支持下能够提供更加完整流畅的开发体验。 | ||
|
||
- 查看详情:https://github.com/kcl-lang/kcl/issues/998 | ||
- Pretest:https://github.com/kcl-lang/kcl/issues/1031 | ||
- 申请链接:https://mentorship.lfx.linuxfoundation.org/project/59d5fb6c-153d-4e46-9d1f-2948641b0471 | ||
|
||
### 4. 如何申请 | ||
|
||
在 LFX mentorship 平台上申请你钟意的项目,你可以通过以下链接访问 LFX mentorship 平台。申请从2024年1月29日开始,到2月13日结束。 | ||
|
||
- https://mentorship.lfx.linuxfoundation.org/ | ||
|
||
有任何的问题,欢迎直接到对应的 issue 中获取更多内容或者与我们讨论: | ||
|
||
- KCL 包版本管理 https://github.com/kcl-lang/kpm/issues/246 | ||
|
||
- KCL 快速修复 https://github.com/kcl-lang/kcl/issues/997 | ||
|
||
- KCL IDE 依赖更新 https://github.com/kcl-lang/kcl/issues/998 | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.