I want a cli application written in zig 0.14.0 that continuously polls a syncthing events url (http://localhost:8384/rest/events?events=ItemFinished) by default. Syncthing uses the id in the json output to track the last event, so it will need to handle "since=<id>" in the query string after the first request. For all items returned, it should check all the events to see if they match anything configured by the user (the config file can be json, zon, or yaml format). The configuration must allow specification of the folder and path regular expression. If an event matches one of the configured items, the configuration will specify a system command that will be run synchronously, using stdout and stderr of the process. Tests should be written to verify accuracy of the parsing logic for both configuration and events, and the README must document the application. Also, please create a devfile.yaml for future use.
52 lines
2.2 KiB
Zig
52 lines
2.2 KiB
Zig
.{
|
|
// This is the default name used by packages depending on this one. For
|
|
// example, when a user runs `zig fetch --save <url>`, this field is used
|
|
// as the key in the `dependencies` table. Although the user can choose a
|
|
// different name, most users will stick with this provided value.
|
|
//
|
|
// It is redundant to include "zig" in this name because it is already
|
|
// within the Zig package namespace.
|
|
.name = .syncthing_events,
|
|
|
|
// This is a [Semantic Version](https://semver.org/).
|
|
// In a future version of Zig it will be used for package deduplication.
|
|
.version = "0.0.0",
|
|
|
|
// Together with name, this represents a globally unique package
|
|
// identifier. This field is generated by the Zig toolchain when the
|
|
// package is first created, and then *never changes*. This allows
|
|
// unambiguous detection of one package being an updated version of
|
|
// another.
|
|
//
|
|
// When forking a Zig project, this id should be regenerated (delete the
|
|
// field and run `zig build`) if the upstream project is still maintained.
|
|
// Otherwise, the fork is *hostile*, attempting to take control over the
|
|
// original project's identity. Thus it is recommended to leave the comment
|
|
// on the following line intact, so that it shows up in code reviews that
|
|
// modify the field.
|
|
.fingerprint = 0x7ba932b0ae7825b, // Changing this has security and trust implications.
|
|
|
|
// Tracks the earliest Zig version that the package considers to be a
|
|
// supported use case.
|
|
.minimum_zig_version = "0.14.0",
|
|
|
|
// This field is optional.
|
|
// Each dependency must either provide a `url` and `hash`, or a `path`.
|
|
// `zig build --fetch` can be used to fetch all dependencies of a package, recursively.
|
|
// Once all dependencies are fetched, `zig build` no longer requires
|
|
// internet connectivity.
|
|
.dependencies = .{
|
|
.mvzr = .{
|
|
.url = "https://github.com/mnemnion/mvzr/archive/f8bc95fe2488e2503a16b7e9baf5e679778c8707.tar.gz",
|
|
.hash = "mvzr-0.3.2-ZSOky95lAQA00lXTN_g8JWoBuh8pw-jyzmCWAqlu1h8L",
|
|
},
|
|
},
|
|
.paths = .{
|
|
"build.zig",
|
|
"build.zig.zon",
|
|
"src",
|
|
// For example...
|
|
//"LICENSE",
|
|
//"README.md",
|
|
},
|
|
}
|