luarocks是lua世界中模块管理工具,就如php的pecl、mac的brew、ubuntu的apt-get等等。 写这篇文章的目的介绍下如何提交lua模块到luarock中。
以我提交的jsonnet为例:
1、你需要注册一个luarocks帐号,注册luarocks
2、编写模块的rockspec文件
3、提交和发布rockspec
重点介绍下rockspec文件编写,看下我的jsonnet-0.1-1.rockspec 文件
package = "jsonnet" --包名称
version = '0.1-1' --包版本,必须是-version-revision
source = {
url = "git://github.com/yuduanchen/luajit-jsonnet.git",
}
description =
{
summary = "jsonnet - The Google Jsonnet for Luajit"; -- 简介
homepage = "https://github.com/yuduanchen/luajit-jsonnet"; -- 主页
license = "Apache License"; --授权协议
}
dependencies =
{
"lua >= 5.1"; -- 对lua的版本要求
}
build = {
type = "make", --采用make编译方式
modules = {
jsonnet = 'jsonnet.lua' -- 目标lua模块, 自动cp到lua库文件路径下
},
platforms = { -- 用去区分不同的平台 如 "unix", "windows", "win32", "cygwin", "macosx", "linux", "freebsd
linux = { --
install_target = "install", -- 在Makefile文件中采用make install命令安装
}
}
}
rockspec 文件名称规范
name-version-revision.rockspec
source url 是 代码地址 支持git或压缩文件如:https://github.com/yuduanchen/luajit-jsonnet/archive/master.zip
编写完rockspec文件后可以通过2个渠道上传到luarocks
1、直接在luarocks的用户后台上传 https://luarocks.org/upload
2、也可以通过命令模式上传: luarocks –api-key= upload name-version-revision.rockspec
api-key 可以通过luarocks的用户后台获取:https://luarocks.org/settings
到这里你已经完成模块的提交,接下来就可以使用luarock命令进行测试了
luarocks install package
更多的资料参考:https://github.com/keplerproject/luarocks/wiki/Rockspec-format#Build_rules