1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
extern crate base64;
extern crate composer;
#[macro_use]
extern crate failure;
extern crate flate2;
#[cfg(test)]
extern crate fs_extra;
extern crate futures;
extern crate globset;
extern crate hex;
extern crate git2;
extern crate indicatif;
extern crate nextcloud_appinfo;
extern crate nextcloud_appsignature;
extern crate nextcloud_appstore;
extern crate npm_scripts;
extern crate pathdiff;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate tar;
#[cfg(test)]
extern crate tempdir;
extern crate toml;
extern crate walkdir;
extern crate xdg;

pub mod commands;
pub mod config;
mod console;
pub mod error;
pub mod occ;
pub mod packaging;

use failure::Error;
pub use nextcloud_appstore::{get_apps_and_releases, get_categories};

pub fn publish_app(
    url: &String,
    is_nightly: bool,
    signature: &String,
    api_token: &String,
) -> Box<futures::Future<Item = (), Error = Error> + Send> {
    Box::new(nextcloud_appstore::publish_app(
        url, is_nightly, signature, api_token,
    ))
}