in samcli/commands/init/command.py [0:0]
def non_interactive_validation(func):
"""
Check requirement for --dependency-manager parameter for non interactive mode
--dependency-manager parameter is only required if --package-type is ZIP
or --base-image is one of the java ones
"""
def wrapped(*args, **kwargs):
ctx = click.get_current_context()
non_interactive = ctx.params.get("no_interactive")
# only run in non interactive mode
if non_interactive:
package_type = ctx.params.get("package_type")
base_image = ctx.params.get("base_image")
dependency_manager = ctx.params.get("dependency_manager")
location = ctx.params.get("location")
# TODO: improve how we check for java type images instead of searching for substring
java_base_image = base_image and "java" in base_image
# dependency manager is only required for ZIP types if location is not also specified
# and is required for java IMAGE packages
if not location and (package_type == ZIP or java_base_image):
if not dependency_manager:
raise click.UsageError("Missing parameter --dependency-manager")
return func(*args, **kwargs)
return wrapped