Extensible Hooks¶
This library will allow you to use many scripts for each
Snap Hook.
When using this library, simply drop your hook script(s) into
[snap_dir]/hooks.d/[hook_name]/*
, where [snap_dir]
is
the top-level of your snap filesystem, and [hook_name]
is
the name of the hook from the following supported list:
- install
- configure
- pre-refresh
- post-refresh
- remove
Usage with sc-jsonnet¶
Applying the utility with sc-jsonnet is the easiest method. To use, simply import the library and add extensible_hooks() to your snapcraft tag. The following code shows a trivial example of using it:
local snapcraft = import 'snapcraft.libsonnet';
local extensible_hooks = import 'https://raw.githubusercontent.com/diddlesnaps/snapcraft-utils-library/master/lib/extensible-hooks.libsonnet';
snapcraft {
name: extensible-hooks-example,
version: "0.1",
summary: "Example of using the 'extensible-hooks' library",
description: |||
This is my-snap's description. You have a paragraph or two to tell the
most important story about your snap. Keep it under 100 words though,
we live in tweetspace and your description wants to look good in the snap
store.
|||,
base: core18,
# Add the rest of your snapcraft build config here
}
+ extensible_hooks()
Manually adding to snapcraft.yaml¶
Simply add the following part into your snapcraft.yaml
:
parts:
extensible-hooks:
plugin: dump
source: https://github.com/diddlesnaps/snapcraft-utils-library.git
source-subdir: snapcraft-assets/extensible-hooks