为了使 Universal Ctags 真正通用,我们也应该分发 Windows 版本。 我们可以使用 Appveyor 进行自动化的夜间/标签构建。 我_认为_它支持标签作为构建触发器。 如果是这样,那么我们可以让它构建 ctags,将其打包到安装程序中,然后将安装程序上传到 Github Release。
或者,如果有类似 Homebrew for Windows 的东西,这样做可能会更好。 赛格温,也许? 这里有一些文档: https ://cygwin.com/faq.html#faq.programming.packages
我不能做这个,因为我没有一个 Windows 盒子可以工作。
我认为不需要安装程序。 ctags 是开发人员的工具,所以一个简单的 .zip 和 exe,一些基本的自述文件,在哪里可以找到所有正确的文档和许可证文件就足够了。
也许appveyor可以提供这样的文件,从未尝试过。 ctags (cross) 从 Linux 构建就好了,所以 travis 也可以工作。
显然我也可以提供这样的 zip,尤其是对于发布。 如果我们想要每晚构建,我们确实需要其中一项服务来帮助我们。
Cygwin 是一个不同的故事。 Cygwin 有它自己的打包系统。 我可以要求当前的维护者关闭 ctags 包以切换到通用包,或者建议自己接管该包(我是 Cygwin“关闭”包的维护者)。 如果任何一个主要的 Linux 发行版都提供了通用 ctags 包,那么对于一个新的包被接受会有很大帮助。
啊,太好了,我不知道我们设置了交叉编译。 当有新标签时,我们应该在 Travis 上创建 Windows 构建 - 自动化是:+1:
我真的很想让 Universal Ctags 进入 cygwin,所以如果你愿意接受它,那就太棒了。 我们已经有了一些支持 Linux 发行版软件包的动力——他们只是在等我们做一个标签。 到目前为止,我知道的有 Debian、Gentoo 和 Arch。 我仍然需要找到将打包 RPM 并将其放入 RHEL/Fedora/OpenSuse 存储库的人,但我会确保在我们的 1.0.0 版本发布之前确定这一点。 我的目标是让 Universal Ctags 打包并在发布之日被几乎任何想要它的人立即安装,因此我们需要确保在该日期之前将 Linux、Mac 和 Windows 打包整理好。
今后我会继续努力。
@ffes和@k-takata,我正在考虑在我们的构建过程中引入一个用 bash 编写的代码生成器(ctagst)。
参见#614。 ctagst 将 something.ctags 转换为 something.c。
可以接受吗?
如果这带来了很大的麻烦,当我对 something.ctags 进行更改时,我会将 something.ctags 和生成的 something.c 提交到我们的 git 存储库。
@cweagans ,关于 Fedora,我将继续工作,或者我将联系 exuberant ctags 的包 Fedora/RHEL 维护者。 无论如何都需要一个源焦油球。
@masatake我可以处理这个问题,这样您就可以腾出时间来处理需要了解 C 的问题 :)
好的谢谢。
@ffes和@k-takata,我正在考虑在我们的构建过程中引入一个用 bash 编写的代码生成器(ctagst)。
我认为在 Windows 上使用 bash 并不容易,尤其是在使用 MSVC 时。 (Python 或 Perl 相当简单。)
@k-takata,谢谢。
最终会有 64 位的单一二进制下载吗? 这对我来说真的很有用。
现在,我们基于 AppVeyor 构建的自动化 Windows 提供了支持 iconv、JSON、XML 和 YAML 的单一二进制文件。
MSYS2 还提供了mingw-w64-{i686,x86_64}-universal-ctags-git
包。 (虽然它不提供msys/universal-ctags-git
包。)
Cygwin 似乎还没有提供通用的 ctags。
分发包裹的另一个途径是巧克力
cygwin路径有什么进展吗?
pkg-config
libiconv
libiconv-devel
需要在 cygwin 下为我安装,然后我才能使用autotools安装它。 也许可以添加一些关于可能需要安装的 deps 的信息?
@fommil :看起来每日构建在这里发布: https ://github.com/universal-ctags/ctags-win32/releases
最有用的评论
分发包裹的另一个途径是巧克力