forked from 1b-agent/opencadstudio-upstream
docs(plugin): rewrite architecture + template for the external-only model
OpenCADStudio ships no built-in plugins, so the spec and scaffold no longer describe the in-tree inventory path, demo_plugin, or the fictional Storm Sewer reference. The architecture doc now covers the external cdylib model end to end (ocs_plugin_api contract, export_plugin!, building + publishing per-platform releases, runtime loading, the marketplace + curated registry, the approach-B ABI caveat). The template becomes a standalone cdylib crate (Cargo.toml + src/lib.rs + release workflow) instead of an in-tree module. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
157412419e
commit
1175675c5e
10 files changed
+412
-374
No files matched your search
@@ -0,0 +1,44 @@
|
||||
name: release
|
||||
|
||||
# Build the plugin cdylib for each desktop platform and attach the binaries
|
||||
# (plus plugin.toml) to a GitHub Release on a v* tag. Open CAD Studio's Plugin
|
||||
# Manager reads the assets, picks the one matching the user's OS/arch, and
|
||||
# installs it. Rename the `asset:` files to your plugin id.
|
||||
on:
|
||||
push:
|
||||
tags: ["v*"]
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
ext: so
|
||||
asset: opencad.my_plugin-linux-x86_64.so
|
||||
- os: windows-latest
|
||||
ext: dll
|
||||
asset: opencad.my_plugin-windows-x86_64.dll
|
||||
- os: macos-latest
|
||||
ext: dylib
|
||||
asset: opencad.my_plugin-macos-aarch64.dylib
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: dtolnay/rust-toolchain@stable
|
||||
- run: cargo build --release
|
||||
- name: Stage release asset
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p dist
|
||||
cp target/release/*.${{ matrix.ext }} "dist/${{ matrix.asset }}"
|
||||
cp plugin.toml dist/plugin.toml
|
||||
- uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
dist/${{ matrix.asset }}
|
||||
dist/plugin.toml
|
||||
Reference in new issue
Block a user