Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/palakis/obs-tools
https://github.com/palakis/obs-tools
Last synced: about 7 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/palakis/obs-tools
- Owner: Palakis
- License: gpl-2.0
- Created: 2020-08-07T22:48:21.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-08-10T01:12:43.000Z (over 4 years ago)
- Last Synced: 2024-05-01T13:39:46.765Z (7 months ago)
- Language: C++
- Size: 64.5 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OBS Plugin Template
## Introduction
This plugin is meant to make it easy to quickstart development of new OBS plugins. It includes:
- The CMake project file
- Boilerplate plugin source code
- A continuous-integration configuration for automated builds (a.k.a Build Bot)## Configuring
Open `CMakeLists.txt` and edit the following lines at the beginning:
```cmake
# Change `obs-plugintemplate` to your plugin's name in a machine-readable format
# (e.g.: obs-myawesomeplugin) and set the value next to `VERSION` as your plugin's current version
project(obs-plugintemplate VERSION 1.0.0)# Replace `Your Name Here` with the name (yours or your organization's) you want
# to see as the author of the plugin (in the plugin's metadata itself and in the installers)
set(PLUGIN_AUTHOR "Your Name Here")# Replace `com.example.obs-plugin-template` with a unique Bundle ID for macOS releases
# (used both in the installer and when submitting the installer for notarization)
set(MACOS_BUNDLEID "com.example.obs-plugintemplate")# Replace `[email protected]` with the maintainer email address you want to put in Linux packages
set(LINUX_MAINTAINER_EMAIL "[email protected]")
```## CI / Build Bot
The CI scripts are made for Azure Pipelines. The sections below detail some of the common tasks possible with that CI configuration.
### Retrieving build artifacts
Each build produces installers and packages that you can use for testing and releases. These artifacts can be found a Build's page on Azure Pipelines.
#### Building a Release
Simply create and push a tag, and Azure Pipelines will run the pipeline in Release Mode. This mode uses the tag as its version number instead of the git ref in normal mode.
### Signing and Notarizing on macOS
On macOS, Release Mode builds will be signed and sent to Apple for notarization if `macosSignAndNotarize` is set to `True` at the top of the `azure-pipelines.yml` file. **You'll need a paid Apple Developer Account for this.**
In addition to enabling `macosSignAndNotarize`, you'll need to setup a few more things for Signing and Notarizing to work:
- On your Apple Developer dashboard, go to "Certificates, IDs & Profiles" and create two signing certificates:
- One of the "Developer ID Application" type. It will be used to sign the plugin's binaries
- One of the "Developer ID Installer" type. It will be used to sign the plugin's installer
- Using the Keychain app on macOS, export these two certificates and keys into a .p12 file **protected with a strong password**
- Add that `Certificates.P12` file as a [Secure File in Azure Pipelines](https://docs.microsoft.com/en-us/azure/devops/pipelines/library/secure-files?view=azure-devops) and make sure it is named `Certificates.p12`
- Add the following secrets in your pipeline settings:
- `secrets.macOS.certificatesImportPassword`: Password of the .p12 file generated earlier
- `secrets.macOS.codeSigningIdentity`: Name of the "Developer ID Application" signing certificate generated earlier
- `secrets.macOS.installerSigningIdentity`: Name of "Developer ID Installer" signing certificate generated earlier
- `secrets.macOS.notarization.username`: Your Apple Developer Account's username
- `secrets.macOS.notarization.password`: Your Apple Developer Account's password
- `secrets.macOS.notarization.providerShortName`: Identifier (`Provider Short Name`, as Apple calls it) of the Developer Team to which the signing certificates belong.