Stay up to date with the latest marketing, sales and service tips and news.
翻译自Building Qt Creator plugins with GitHub Actions
原文作者:Cristian Adam
翻译:Richard Lin
Qt Creator是一个跨平台、高度模块化的Qt/C++应用程序。
您在编译Qt Creator插件时需要:
许多插件开发者可能还不知道Qt Creator有SDK。(使用SDK)开发Qt Creator插件时就不需要编译整个Qt Creator。另外,对于大多数C++开发者来说,要在三个平台(Windows、Linux、macOS)上编译、测试和调试插件并不简单。
GitHub Actions是GitHub提供的一个CI/CD基础功能,它可以运行在所有三个平台上!GitHub上也托管了一些Qt Creator插件的代码仓库,所以我准备尝试构建Doxygen 插件(在我采用了GitHub Actions script的fork版本上)。
GitHub Actions目前提供以下虚拟机(runners):
Qt SDK初始没有安装到runners上。这不是问题,因为我们希望用相同的版本的Qt和Qt Creator。
开发者可以一次在一个平台上开发,也可以同时在多个平台开发一个应用(矩阵模式)
由于GitHub提供了虚拟机和C++编译器,所以开发者只需要获得Qt库和Qt Creator SDKs,然后就可以开始“编译”。
我决定编写脚本实现自动下载、解压文件和编译,脚本文件在三个文件中:CMake(通过-P命令行参数进入脚本模式)。
我从download.Qt.io下载了Qt SDK和Qt Creator二进制文件、源代码和SDK。
为了配置插件,开发者需要运行
qmake doxygen.pro CONFIG+=release QTC_SOURCE="$ENV{GITHUB_WORKSPACE}/qtcreator" QTC_BUILD="$ENV{GITHUB_WORKSPACE}/qtcreator"
编译也很简单,运行
make -j<number of cores>
或 jom
最后,我们将拥有一个动态链接库(.dll、.so、.dynlib),它将发布给用户。
执行git push
后,将编译插件,每次编译的工作临时文件都会被储存。这看起来像这样:
如果我们用git tag -a v0.4.7-qtc-4.11 -m "Release v0.4.7-qtc-4.11"
命令标记一次提交,然后用git push originv0.4.7-qtc-4.11
命令提交。这将触发release编译,中间文件将被上载到该release。这看起来像:
新创建release如下:
GitHub Actions在平台和编译器上与编译Qt和Qt Creator的条件有一些不同:
而实践证明Qt Creator能够在三个平台上加载插件!
您需要复制一个Yaml文件到qtcreator doxygen/.github/workflows/build_qmake.yml。
源码如下:
请任意复制和修改脚本,来发布自己的Qt Creator插件!
Stay up to date with the latest marketing, sales and service tips and news.
Download the latest release here: www.qt.io/download.
Qt 5.12 was developed with a strong focus on quality and is a long-term-supported (LTS) release that will be supported for 3 years.
Find webinars, use cases, tutorials, videos & more at resources.qt.io
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.Henkilön Qt (@theqtcompany) jakama julkaisu
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.