OpenSite/Guides/Build a native plugin: Difference between revisions

From BathAfrica Documentation
Jump to navigation Jump to search
Use BathAfrica sidebar contents without duplicate inline contents box
Publish organized OpenSite guides and reference navigation
 
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{OpenSite scope}}
{{BathAfrica Tutorial
{{BathAfrica Tutorial
|review=Development documentation for OpenSite 0.0.1, source snapshot 77c3fee (Phase 13C). Reviewed against implementation on 29 October 2026. Tests and the Windows desktop were not rerun for this publication; this is not a released-product support claim.
|id=sdk.build-native-plugin
|id=sdk.build-native-plugin
|summary=Build the native sample from an installed SDK and run tool.ping.
|summary=Build the native sample from an installed SDK and run tool.ping.
Line 20: Line 20:
[[OpenSite|OpenSite overview]] · [[OpenSite/Reference|Reference]] · [[OpenSite/Guides|Guides]]
[[OpenSite|OpenSite overview]] · [[OpenSite/Reference|Reference]] · [[OpenSite/Guides|Guides]]
[[Category:OpenSite documentation]]
[[Category:OpenSite documentation]]
<div class="os-page-nav">{{Docnav|OpenSite/Guides/Troubleshoot a workflow|OpenSite/Reference|OpenSite/Guides|All guides}}</div>

Latest revision as of 14:00, 29 October 2026

OpenSite 0.0.1 · DevelopmentSource scope and availability


Build the native sample from an installed SDK and run tool.ping.

Stable identifier
sdk.build-native-plugin

Prerequisites

Matching installed headless OpenSite SDK, dependency prefix, CMake/Ninja and Visual Studio 2026 x64 toolset 14.51 for the reviewed configuration. Release uses cpython-3.14; Debug uses cpython-3.14d. A historical toolset-14.44 bundle is not a compatible replacement for the 14.51 host.

Steps

From a configured checkout, build and install the matching Release SDK to an example prefix such as C:\OpenSite-SDK. Configure C:\OpenSite-SDK\share\opensite\examples\plugins\standalone in a separate build directory with CMAKE_PREFIX_PATH set to that SDK and OPENSITE_DEPENDENCY_PREFIX set to the matching extracted dependency prefix. Build it, then place sample_native.dll and opensite-plugin.json under C:\plugins\sample.native. Run C:\OpenSite-SDK\application\OpenSiteConsole.exe --development-host --plugins C:\plugins --command sample_native/tool.ping. These paths are examples; do not mix SDK or runtime configurations.

Expected result

The process prints pong.

Limitations

The manifest sdk_api must match the host (0.0.3 in this snapshot), together with the build configuration and compiler contract. The native library remains mapped until process exit. Ping has no engineering capability; span requires the explicit development host in this sample. This headless sample does not create a desktop menu or package a distributable GUI SDK.


Documentation basis

Source-reviewed against development commit 77c3fee13944bcc4b5d487c77eb1f82fbe4c6ea7, branch feature/phase-13c-properties-python-expressions. This review inspected the implementation and repository evidence; it did not run the Windows application or repeat CTest.

  • docs/development/Plugin-SDK.md
  • examples/plugins/standalone/CMakeLists.txt
  • src/plugins/plugin_host.cpp

OpenSite overview · Reference · Guides