Release plugins alpha (#5288)

This commit is contained in:
Mm2PL 2024-05-06 17:03:17 +02:00 committed by GitHub
parent a43c4f371b
commit 321d881bfe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 25 additions and 7 deletions

View file

@ -115,21 +115,21 @@ jobs:
- os: macos-13 - os: macos-13
qt-version: 5.15.2 qt-version: 5.15.2
force-lto: false force-lto: false
plugins: false plugins: true
skip-artifact: false skip-artifact: false
skip-crashpad: false skip-crashpad: false
# Windows # Windows
- os: windows-latest - os: windows-latest
qt-version: 6.5.0 qt-version: 6.5.0
force-lto: false force-lto: false
plugins: false plugins: true
skip-artifact: false skip-artifact: false
skip-crashpad: false skip-crashpad: false
# Windows 7/8 # Windows 7/8
- os: windows-latest - os: windows-latest
qt-version: 5.15.2 qt-version: 5.15.2
force-lto: false force-lto: false
plugins: false plugins: true
skip-artifact: false skip-artifact: false
skip-crashpad: true skip-crashpad: true

View file

@ -15,7 +15,7 @@ FreeBSD 13.0-CURRENT.
mkdir build mkdir build
cd build cd build
``` ```
1. Generate build files 1. Generate build files. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
```sh ```sh
cmake .. cmake ..
``` ```

View file

@ -51,7 +51,7 @@ nix-shell -p openssl boost qt6.full pkg-config cmake
mkdir build mkdir build
cd build cd build
``` ```
1. Generate build files 1. Generate build files. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
```sh ```sh
cmake -DBUILD_WITH_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF .. cmake -DBUILD_WITH_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF ..
``` ```

View file

@ -20,7 +20,7 @@ Local dev machines for testing are available on Apple Silicon on macOS 13.
1. Go to the project directory where you cloned Chatterino2 & its submodules 1. Go to the project directory where you cloned Chatterino2 & its submodules
1. Create a build directory and go into it: 1. Create a build directory and go into it:
`mkdir build && cd build` `mkdir build && cd build`
1. Run CMake: 1. Run CMake. To enable Lua plugins in your build add `-DCHATTERINO_PLUGINS=ON` to this command.
`cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5 -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@1.1 ..` `cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5 -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl@1.1 ..`
1. Build: 1. Build:
`make` `make`

View file

@ -118,6 +118,7 @@ nmake
``` ```
To build a debug build, you'll also need to add the `-s compiler.runtime_type=Debug` flag to the `conan install` invocation. See [this StackOverflow post](https://stackoverflow.com/questions/59828611/windeployqt-doesnt-deploy-qwindowsd-dll-for-a-debug-application/75607313#75607313) To build a debug build, you'll also need to add the `-s compiler.runtime_type=Debug` flag to the `conan install` invocation. See [this StackOverflow post](https://stackoverflow.com/questions/59828611/windeployqt-doesnt-deploy-qwindowsd-dll-for-a-debug-application/75607313#75607313)
To build with plugins add `-DCHATTERINO_PLUGINS=ON` to `cmake` command.
#### Deploying Qt libraries #### Deploying Qt libraries

View file

@ -50,4 +50,5 @@ This will require more than 30GB of free space on your hard drive.
cmake --build . --parallel <threads> --config Release cmake --build . --parallel <threads> --config Release
``` ```
When using CMD, use `-DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake` to specify the toolchain. When using CMD, use `-DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake` to specify the toolchain.
To build with plugins add `-DCHATTERINO_PLUGINS=ON` to `cmake -B build` command.
1. Run `.\bin\chatterino2.exe` 1. Run `.\bin\chatterino2.exe`

View file

@ -2,6 +2,7 @@
## Unversioned ## Unversioned
- Major: Release plugins alpha. (#5288)
- Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378) - Bugfix: If a network request errors with 200 OK, Qt's error code is now reported instead of the HTTP status. (#5378)
- Dev: Add doxygen build target. (#5377) - Dev: Add doxygen build target. (#5377)
- Dev: Make printing of strings in tests easier. (#5379) - Dev: Make printing of strings in tests easier. (#5379)

View file

@ -28,7 +28,7 @@ option(CHATTERINO_GENERATE_COVERAGE "Generate coverage files" OFF)
option(BUILD_TRANSLATIONS "" OFF) option(BUILD_TRANSLATIONS "" OFF)
option(BUILD_SHARED_LIBS "" OFF) option(BUILD_SHARED_LIBS "" OFF)
option(CHATTERINO_LTO "Enable LTO for all targets" OFF) option(CHATTERINO_LTO "Enable LTO for all targets" OFF)
option(CHATTERINO_PLUGINS "Enable EXPERIMENTAL plugin support in Chatterino" OFF) option(CHATTERINO_PLUGINS "Enable ALPHA plugin support in Chatterino" OFF)
option(CHATTERINO_UPDATER "Enable update checks" ON) option(CHATTERINO_UPDATER "Enable update checks" ON)
mark_as_advanced(CHATTERINO_UPDATER) mark_as_advanced(CHATTERINO_UPDATER)

View file

@ -37,6 +37,21 @@ PluginsPage::PluginsPage()
auto group = layout.emplace<QGroupBox>("General plugin settings"); auto group = layout.emplace<QGroupBox>("General plugin settings");
this->generalGroup = group.getElement(); this->generalGroup = group.getElement();
auto groupLayout = group.setLayoutType<QFormLayout>(); auto groupLayout = group.setLayoutType<QFormLayout>();
auto *scaryLabel = new QLabel(
"Plugins can expand functionality of "
"Chatterino. They can be made in Lua. This functionality is "
"still in public alpha stage. Use ONLY the plugins you trust. "
"The permission system is best effort, always "
"assume plugins can bypass permissions and can execute "
"arbitrary code. To see how to create plugins " +
formatRichNamedLink("https://github.com/Chatterino/chatterino2/"
"blob/master/docs/wip-plugins.md",
"look at the manual") +
".");
scaryLabel->setWordWrap(true);
scaryLabel->setOpenExternalLinks(true);
groupLayout->addRow(scaryLabel);
auto *description = auto *description =
new QLabel("You can load plugins by putting them into " + new QLabel("You can load plugins by putting them into " +
formatRichNamedLink( formatRichNamedLink(