Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 3.26 KB

File metadata and controls

62 lines (46 loc) · 3.26 KB

Scripts

On-site developer tooling for the Altium binary formats. Everything here is for manual, local use only — none of it is part of the automated test suite, and none of it runs in CI. (CI verifies Altium-readability through the independent pyaltiumlib oracle in tests/integration/.)

Path What it is Needs Altium?
Verify-Libraries.ps1 Launch Altium to confirm a .PcbLib/.SchLib opens cleanly Yes
Generate-Samples.ps1 Launch Altium to author the sample libraries Yes
Resolve-AltiumExe.ps1 Shared helper: read ALTIUM_EXE from the repo-root .env.local
altium/ The DelphiScript automation the launchers run Yes
samples/ Altium-authored sample libraries (ground truth for the tests) No

Configuration — .env.local

The launchers do not auto-discover Altium, because multiple versions may be installed and the wrong one could be picked. Copy the repo-root .env.local.example to .env.local (gitignored, per-machine) and set the path to your X2.EXE:

ALTIUM_EXE=C:\Program Files\Altium\AD24\X2.EXE

Or pass -AltiumExe <path> to either launcher to override.

altium/ — on-site Altium automation

DelphiScript that drives a real, locally-installed Altium Designer (developed against AD24) through Altium's RunScript CLI. Because it needs the GUI application and a licence, it cannot run in CI.

Path Role
altium/verify/ AltiumVerify.pas — opens each library and reports PASS/FAIL (run by Verify-Libraries.ps1)
altium/generate/ GenerateSamples.pas — authors the sample libraries (run by Generate-Samples.ps1)

The RunScript launch and the file-based request/response bridge are adapted from coffeenmusic/altium-mcp (MIT).

samples/ — sample libraries

Altium-authored reference libraries, generated on-site by Generate-Samples.ps1 and committed as binaries (like AltiumSharp's TestData) so CI can read them without Altium. They are the ground truth the reader and round-trip tests validate against. See samples/README.md.

Building the sample set is iterative: generate → read back with the Rust tests → extend the authoring script's primitive coverage → regenerate. The samples/ folder is empty until the first set lands.

References

Working on the DelphiScript automation in altium/? Altium's official scripting docs: