OpenSite/Guides/Build a native plugin: Difference between revisions
BathAfrica (talk | contribs) Publish Cursor documentation reconciled with OpenSite source 77c3fee; tests not rerun |
BathAfrica (talk | contribs) Publish organized OpenSite guides and reference navigation |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
__NOTOC__ | |||
{{OpenSite scope}} | |||
{{BathAfrica Tutorial | {{BathAfrica Tutorial | ||
|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 19: | 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
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.mdexamples/plugins/standalone/CMakeLists.txtsrc/plugins/plugin_host.cpp