~/talk

Generating Code and Other Mischief with Swift Package Manager Plugins

Talkat 360iDev 2022 · 2022-08-28..08-31· [swift, devops-and-delivery]
slides:none on file

Swift Package Manager adds two concrete extension types: command plugins that run on demand and can ask permission to write into the package, and build tool plugins that run every build and must write outputs into a sandbox (often the derived data sandbox). The architecture separates a tiny plugin that emits build commands from an executable that does the work, passing a Codable payload; examples include a working dated image generator that writes generated Swift into derived data and a prank do_nil_disturb plugin that injects build-failing errors on holidays. Major limits: no UI, no network, no cross-plugin shared state.

AI-written summary · about

  1. 0:00Start
  2. 2:37ALCATRAZ
  3. 6:09XCODE GHOST
  4. 8:44XCODE SOURCE EXTENSIONS
  5. 13:38SWIFT PACKAGE MANAGER PLUGINS
  6. 15:141. COMMAND PLUGINS 2. BUILD TOOL PLUGINS
  7. 21:54BUILD TOOL HARD MODE: CREATE YOUR OWN PLUGIN
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.