From: Alexis Laferrière Date: Fri, 2 Mar 2018 23:51:57 +0000 (-0500) Subject: nitpm: recursively install imported packages X-Git-Url: http://nitlanguage.org nitpm: recursively install imported packages Signed-off-by: Alexis Laferrière --- diff --git a/src/picnit.nit b/src/picnit.nit index 753492b..365bcb8 100644 --- a/src/picnit.nit +++ b/src/picnit.nit @@ -121,7 +121,7 @@ class CommandInstall assert response isa CurlFileResponseSuccess if response.status_code == 404 then - print_error "Package not found by the server" + print_error "Package '{package_id}' not found on the server" exit 1 else if response.status_code != 200 then print_error "Server side error: {response.status_code}" @@ -180,9 +180,16 @@ class CommandInstall proc.wait if proc.status != 0 then - print_error "Install failed" + print_error "Install of '{name}' failed" exit 1 end + + # Recursive install + var ini = new ConfigTree(target_dir/"package.ini") + var import_line = ini["package.import"] + if import_line != null then + install_packages import_line + end end end diff --git a/tests/sav/picnit_args2.res b/tests/sav/picnit_args2.res index 8fba0b7..0c6dd31 100644 --- a/tests/sav/picnit_args2.res +++ b/tests/sav/picnit_args2.res @@ -1 +1 @@ -Already installed +Package 'hello_picnit' is already installed