///|
fn main raise {
let archive : @resources.PublicArchive = {
url: @resources.HttpUrl::parse(
"https://codeload.github.com/moonrockz/smithy/zip/f66a4a77685902ffed964c63ecbabd0fd2465ab4",
).unwrap(),
format: @resources.Zip,
expected_digest: @resources.ContentDigest::parse(
"sha256:7a191fd47666fd9cb0ef3b4e1cd4561e31d412fcb7205f1a0fb742b723d3faa2",
),
}
let selection = @resources.Selection::new(
@resources.ResourceRoot::parse(
"smithy-f66a4a77685902ffed964c63ecbabd0fd2465ab4/examples/local-resources/imports",
).unwrap(),
[@resources.Exact(@resources.EntryPath::parse("shared.smithy").unwrap())],
).unwrap()
let args = @env.args()[1:].to_owned()
guard args.is_empty() || args == ["--offline"] else {
abort("usage: public [--offline]")
}
let cache = @cache.open(
@resources.CacheDirectory::parse(".dev/cache/public-archive").unwrap(),
)
let tree = archive.open(
@http.transport,
cache=Some(cache),
mode=if args.is_empty() { @resources.Online } else { @resources.Offline },
)
for resource in @resources.select_resources(tree, selection) {
println(resource.provenance)
println(resource.text())
}
}