/******************************************************************************* * * Copyright (c) 2004-2010, Oracle Corporation. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * * * * *******************************************************************************/ package hudson.cli; import hudson.Extension; import hudson.model.Hudson; import java.util.Map; import java.util.TreeMap; /** * Show the list of all commands. * * @author Kohsuke Kawaguchi */ @Extension public class HelpCommand extends CLICommand { @Override public String getShortDescription() { return "Lists all the available commands"; } protected int run() { if (!Hudson.getInstance().hasPermission(Hudson.READ)) { stderr.println("You must authenticate to access this Hudson.\n" + "Use --username/--password/--password-file parameters or login command."); return 0; } Map<String, CLICommand> commands = new TreeMap<String, CLICommand>(); for (CLICommand c : CLICommand.all()) { commands.put(c.getName(), c); } for (CLICommand c : commands.values()) { stderr.println(" " + c.getName()); stderr.println(" " + c.getShortDescription()); } return 0; } }