Flatpak library for Rust.
This library offers functions to parse and dump flatpak application,
module or source manifests. The goal of the library is to be compliant with what
flatpak-builder
supports.
See the API documentation for this library.
Add the library to your Cargo.toml
:
ignore
flatpak = "0"
Note that this library is aliased as both flatpak
and flatpak-rs
on crates.io.
All three denominations of Flatpak manifests can be parsed using this library,
using the FlatpakApplication
, FlatpakModule
and FlatpakSource
structs.
```rust use flatpakrs::application::FlatpakApplication; use flatpakrs::format::FlatpakManifestFormat;
let manifest = r###" app-id: net.louib.flatpak-rs runtime: org.gnome.Platform runtime-version: "3.36" sdk: org.gnome.Sdk command: flatpak-rs tags: ["nightly"] modules: - name: "flatpak-rs" buildsystem: simple cleanup: [ "*" ] config-opts: [] sources: - type: git url: https://github.com/louib/flatpak-rs.git branch: master - "shared-modules/linux-audio/lv2.json" "###;
let application = FlatpakApplication::parse(FlatpakManifestFormat::YAML, manifest).unwrap();
asserteq!(&application.appid, "net.louib.flatpak-rs"); assert_eq!(application.modules.len(), 2 as usize);
println!("Parsed application manifest for {}.", &application.app_id); ```
```rust use std::env;
use flatpak_rs::application::FlatpakApplication;
fn main() {
let args: Vec
let application = FlatpakApplication::load_from_file(manifest_path.clone()).unwrap();
println!("Parsed application manifest for {}.", &application.get_id());
}
```
MIT