@CliCommand(value = UPLOAD_MODULE, help = "Upload a new module")
	public String uploadModule(
			@CliOption(mandatory = true, key = {"type"}, help = "the type for the uploaded module") RESTModuleType type,
			@CliOption(mandatory = true, key = {"name"}, help = "the name for the uploaded module") String name,
			@CliOption(mandatory = true, key = {"", "file"}, help = "path to the module archive") File file,
			@CliOption(key = "force", help = "force update if module already exists (only if not in use)", specifiedDefaultValue = "true", unspecifiedDefaultValue = "false") boolean force
	) throws IOException {
		Resource resource = new FileSystemResource(file);
		ModuleDefinitionResource composedModule = moduleOperations().uploadModule(name, type, resource, force);
		return String.format(("Successfully uploaded module '%s:%s'"), composedModule.getType(),
				composedModule.getName());
	}
Escapes some special values so that they don't disturb console rendering and are easier to read.
spring-xd-shell/src/main/java/org/springframework/xd/shell/command/ModuleCommands.java