mirror of
https://github.com/AleoHQ/leo.git
synced 2024-12-27 11:34:44 +03:00
Merge #676
676: [CLI, PM] Inputs are now published with source code r=collinc97 a=damirka Fixes #637 - now inputs are published to Aleo PM - error json message is printed to user ## Motivation We're unable to publish packages to PM, this PR fixes that. ## Test Plan TBD: CI for publishing Co-authored-by: damirka <damirka.ru@gmail.com>
This commit is contained in:
commit
077d0f76f1
@ -119,14 +119,17 @@ impl Command for Publish {
|
|||||||
.send();
|
.send();
|
||||||
|
|
||||||
// Get a response result
|
// Get a response result
|
||||||
let result = match response {
|
let result: ResponseJson = match response {
|
||||||
Ok(json_result) => match json_result.json::<ResponseJson>() {
|
Ok(json_result) => {
|
||||||
Ok(json) => json,
|
let text = json_result.text()?;
|
||||||
Err(error) => {
|
|
||||||
tracing::warn!("{:?}", error);
|
match serde_json::from_str(&text) {
|
||||||
return Err(anyhow!("Package not published"));
|
Ok(json) => json,
|
||||||
|
Err(_) => {
|
||||||
|
return Err(anyhow!("Package not published: {}", text));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
Err(error) => {
|
Err(error) => {
|
||||||
tracing::warn!("{:?}", error);
|
tracing::warn!("{:?}", error);
|
||||||
return Err(anyhow!("Connection unavailable"));
|
return Err(anyhow!("Connection unavailable"));
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
errors::ZipFileError,
|
errors::ZipFileError,
|
||||||
imports::IMPORTS_DIRECTORY_NAME,
|
imports::IMPORTS_DIRECTORY_NAME,
|
||||||
inputs::{INPUTS_DIRECTORY_NAME, INPUT_FILE_EXTENSION},
|
inputs::{INPUTS_DIRECTORY_NAME, INPUT_FILE_EXTENSION, STATE_FILE_EXTENSION},
|
||||||
outputs::{
|
outputs::{
|
||||||
CHECKSUM_FILE_EXTENSION,
|
CHECKSUM_FILE_EXTENSION,
|
||||||
CIRCUIT_FILE_EXTENSION,
|
CIRCUIT_FILE_EXTENSION,
|
||||||
@ -151,9 +151,8 @@ impl ZipFile {
|
|||||||
|
|
||||||
/// Check if the file path should be included in the package zip file.
|
/// Check if the file path should be included in the package zip file.
|
||||||
fn is_included(path: &Path) -> bool {
|
fn is_included(path: &Path) -> bool {
|
||||||
// excluded directories: `input`, `output`, `imports`
|
// excluded directories: `output`, `imports`
|
||||||
if path.ends_with(INPUTS_DIRECTORY_NAME.trim_end_matches('/'))
|
if path.ends_with(OUTPUTS_DIRECTORY_NAME.trim_end_matches('/'))
|
||||||
| path.ends_with(OUTPUTS_DIRECTORY_NAME.trim_end_matches('/'))
|
|
||||||
| path.ends_with(IMPORTS_DIRECTORY_NAME.trim_end_matches('/'))
|
| path.ends_with(IMPORTS_DIRECTORY_NAME.trim_end_matches('/'))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -161,8 +160,7 @@ fn is_included(path: &Path) -> bool {
|
|||||||
|
|
||||||
// excluded extensions: `.in`, `.bytes`, `lpk`, `lvk`, `.proof`, `.sum`, `.zip`, `.bytes`
|
// excluded extensions: `.in`, `.bytes`, `lpk`, `lvk`, `.proof`, `.sum`, `.zip`, `.bytes`
|
||||||
if let Some(true) = path.extension().map(|ext| {
|
if let Some(true) = path.extension().map(|ext| {
|
||||||
ext.eq(INPUT_FILE_EXTENSION.trim_start_matches('.'))
|
ext.eq(ZIP_FILE_EXTENSION.trim_start_matches('.'))
|
||||||
| ext.eq(ZIP_FILE_EXTENSION.trim_start_matches('.'))
|
|
||||||
| ext.eq(PROVING_KEY_FILE_EXTENSION.trim_start_matches('.'))
|
| ext.eq(PROVING_KEY_FILE_EXTENSION.trim_start_matches('.'))
|
||||||
| ext.eq(VERIFICATION_KEY_FILE_EXTENSION.trim_start_matches('.'))
|
| ext.eq(VERIFICATION_KEY_FILE_EXTENSION.trim_start_matches('.'))
|
||||||
| ext.eq(PROOF_FILE_EXTENSION.trim_start_matches('.'))
|
| ext.eq(PROOF_FILE_EXTENSION.trim_start_matches('.'))
|
||||||
@ -173,6 +171,18 @@ fn is_included(path: &Path) -> bool {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Allow `inputs` folder
|
||||||
|
if path.ends_with(INPUTS_DIRECTORY_NAME.trim_end_matches('/')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allow `.state` and `.in` files
|
||||||
|
if let Some(true) = path.extension().map(|ext| {
|
||||||
|
ext.eq(INPUT_FILE_EXTENSION.trim_start_matches('.')) | ext.eq(STATE_FILE_EXTENSION.trim_start_matches('.'))
|
||||||
|
}) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Allow the README.md and Leo.toml files in the root directory
|
// Allow the README.md and Leo.toml files in the root directory
|
||||||
if (path.ends_with(README_FILENAME) | path.ends_with(MANIFEST_FILENAME)) & (path.parent() == Some(Path::new(""))) {
|
if (path.ends_with(README_FILENAME) | path.ends_with(MANIFEST_FILENAME)) & (path.parent() == Some(Path::new(""))) {
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user