onyxlang 简单包创建&使用

发布时间 2024-01-09 12:19:27作者: 荣锋亮

onyxlang 支持包,提供了基于git 的模式,以下是一个简单试用

创建包

  • 初始化
onyx  package init

  • 添加配置
    按照官方的介绍,一个包需要包含代码(git repo),onyx-pkg.kdl 文件,module.onyx 文件
    onyx-pkg.kdl 上边初始化的时候已经创建了
    onyx-pkg.kdl 内容
 
package {
    name "dalongdemo" 
    author "dalongdemo" 
    url "https://github.com/rongfengliang/onyx-package-demo" 
    description "dalongdemo" 
    version "4.0.0" 
}
 
config {
    dependency_source_path "./lib" 
    dependency_binary_path "./bin" 
}

module.onyx

package dalongdemo
#load_all "./lib"

简单代码 lib/dalongdemo.onyx

 package dalongdemo
 
use core {printf}
 
demoapp ::(){
    printf("hello world");
}
  • 发布
    需要对于git 代码进行提交(先进行标准的git 操作),我似乎没执行成功,版本是提升了,但是没有提交push 到git 中
 
onyx package  publish 

使用包

  • 简单项目
    还是创建一个onyx package 项目
    添加依赖,直接修改onyx-pkg.kdl 文件
 
package {
    name "dalong" 
    author "" 
    url "" 
    description "dmeo" 
    version "0.0.1" 
}
 
config {
    dependency_source_path "./lib" 
    dependency_binary_path "./bin" 
}
 
dependencies {
    https: "0.0.0" 
    http-server "0.2.27" git="http://github.com/onyx-lang/pkg-http-server" 
    onyx-package-demo "6.0.0" git="https://github.com/rongfengliang/onyx-package-demo" 
} 

同步package

onyx package sync

效果

  • 使用包
    main.onyx
 
#load "./lib/packages" // <--- Have to include the packages file!  首先加载包
 
use dalongdemo
 
main :: () {
    dalongdemo.demoapp();
}

运行效果

说明

整体使用感觉还是有一些问题的,只是目前来说基本可用,深入使用还得再学习下

参考资料

https://onyxlang.io/docs/packages
https://github.com/onyx-lang/onyx
https://github.com/onyx-lang/pkg-http-server
https://github.com/rongfengliang/onyx-package-demo