我正在编写一个小代码项目(或模块),并愿意用3种不同的语言实现相同的技术,即:Python,JS,Lua。我想制作一个包含所有这些语言中所有代码的github repo。
我的问题是:如何将其作为可安装的软件包,适用于所有三种语言?即:
对于Python,我希望通过
提供pip install packagex
对于Lua,我希望通过以下方式提供:
luarocks install packagex
类似于JS / Node:
npm install packagex
是的,我可以为三个不同的平台创建三个不同的存储库,并将每个平台注册为可安装的包,但我想将所有内容保存在单个源代码库中。我该怎么办?感谢。
答案 0 :(得分:0)
我可以回答问题的LuaRocks部分:
如果您选择为每种语言创建子目录,并且Lua内容位于/lua
下,您可以关注usual process of creating a rockspec file,并添加source.dir
条目,告诉它在子目录。所以,在上面的链接示例中,您可能会这样:
source = {
url = "git://github.com/me/luafruits",
tag = "v1.0",
dir = "luafruits/lua"
}
source.dir
与rockspec format的其余部分一起被记录:
- source.dir(string) - 解压缩源存档时创建的目录的名称。如果可以从source.file字段推断出它,则可以省略。示例:“luasocket-2.0.1”
对于Git存储库,默认情况下会将source.dir
推断为路径的最后一个组件,但如果您的代码位于子目录中,则可以随意重新定义它。 rockspec中的所有其他路径都与此source.dir
相对。
或者,您只需将lua/
添加到build
部分的所有路径即可。在文档中的“luafruits”示例中,请注意所有源都位于src/
内。只需使用lua/
,您就可以开始使用,无需使用source.dir
。