/** * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> * */ @Help("Un-alias an aliased command. See also 'help alias'") @Alias("unalias") public class UnaliasPlugin implements Plugin { @Inject private AliasRegistry registry; @DefaultCommand public void set(final PipeOut out, @Option(help = "The alias name to remove: E.g: 'mycommand'") final String[] aliases) { if ((aliases != null) && (aliases.length > 0)) { for (String alias : aliases) { registry.removeAlias(alias); } } } }
public PluginMetadata getMetadataFor(final Class<? extends Plugin> plugin) { String name = getPluginName(plugin); PluginMetadataImpl pluginMeta = new PluginMetadataImpl(); pluginMeta.setName(name); pluginMeta.setType(plugin); if (Annotations.isAnnotationPresent(plugin, Help.class)) { pluginMeta.setHelp(Annotations.getAnnotation(plugin, Help.class).value()); } else { pluginMeta.setHelp(""); } if (Annotations.isAnnotationPresent(plugin, RequiresResource.class)) { List<Class<? extends Resource<?>>> resourceTypes = Arrays.asList(Annotations.getAnnotation(plugin, RequiresResource.class).value()); pluginMeta.setResourceScopes(resourceTypes); } if (Annotations.isAnnotationPresent(plugin, Topic.class)) { pluginMeta.setTopic(Annotations.getAnnotation(plugin, Topic.class).value()); } processPluginCommands(pluginMeta, plugin); return pluginMeta; }
/** * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ @Alias("clear") @Topic("Shell Environment") @Help("Clears the console output.") public class ClearPlugin implements Plugin { @Inject Shell shell; @DefaultCommand public void run() { shell.clear(); } }
/** * @author <a href="mailto:rdruss@gmail.com">Rodney Russ</a> */ @Alias("pwr") @Topic("File & Resources") @Help("Prints the current working resource.") public class PwrPlugin implements org.jboss.forge.shell.plugins.Plugin { @Inject private Shell shell; @DefaultCommand public void run() { shell.println(shell.getCurrentResource().getFullyQualifiedName()); } }
@Help("Create an alias, aliases allow a string to be " + "substituted for a word when it is used as the " + "first word of a simple command. Ex.: 'alias \"ls=ls -a\"." +
/** * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ @Alias("pwd") @Topic("File & Resources") @Help("Prints the current directory.") public class PwdPlugin implements Plugin { @Inject Shell shell; @DefaultCommand public void run() { shell.println(shell.getCurrentDirectory().getFullyQualifiedName()); } }
/** * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ @Alias("version") @Topic("Shell Environment") @Help("Displays the current Forge version.") public class VersionPlugin implements Plugin { @Inject private ForgeEnvironment environment; @DefaultCommand public void show(final PipeOut out) { String version = environment.getRuntimeVersion(); out.println("JBoss Forge, version [ " + version + " ] - JBoss, by Red Hat, Inc. [ http://jboss.org/forge ]"); } }
/** * Implements a {@link Plugin} that fires the forge {@link ShutdownStatus#NORMAL} event. * * * * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ @Alias("exit") @Topic("Shell Environment") @Help("Exits the forge.") public class ExitShellPlugin implements Plugin { @Inject private Event<Shutdown> shutdown; @DefaultCommand public void exit() { shutdown.fire(new Shutdown(Shutdown.Status.NORMAL)); } }
@Alias("about") @Topic("Shell Environment") @Help("Display information about this forge.") public class AboutPlugin implements Plugin { @Inject @Alias("forge") private ForgePlugin forge; @DefaultCommand public void run(PipeOut out) { forge.about(out); } }
@Alias("execute-java") @Topic("Project") @Help("Execute a main method on a project class") public class JavaExecutionPlugin implements Plugin { @Inject Project project; @DefaultCommand public void executeJavaClass( @Option(name = "class", type = PromptType.JAVA_CLASS, required = true) final JavaResource classToExecute, @Option(name = "arguments") final String arguments) throws Exception { String qualifiedName = classToExecute.getJavaSource().getQualifiedName(); JavaExecutionFacet facet = project.getFacet(JavaExecutionFacet.class); if (arguments != null) { facet.executeProjectClass(qualifiedName, arguments.split(" ")); } else { facet.executeProjectClass(qualifiedName); } } }
/** * @author Mike Brock . */ @Alias("wait") @Topic("Shell Environment") @Help("Wait for ENTER.") public class WaitPlugin implements Plugin { private final Shell shell; @Inject public WaitPlugin(final Shell shell) { this.shell = shell; } @DefaultCommand public void waitCommand() { shell.prompt("Press <ENTER> to continue..."); } }
/** * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ @Alias("reset") @Topic("Shell Environment") @Help("Reset the shell and reload default configs.") public class ResetPlugin implements Plugin { private final Event<ReinitializeEnvironment> reinitializeEvent; @Inject public ResetPlugin(final Event<ReinitializeEnvironment> reinitializeEvent) { this.reinitializeEvent = reinitializeEvent; } @DefaultCommand public void reset() { reinitializeEvent.fire(new ReinitializeEnvironment()); } }
/** * A simple port of the Unix touch command. * * @author Jose Donizetti. */ @Alias("touch") @Topic("File & Resources") @Help("change file access and modification times") public class TouchPlugin implements Plugin { @DefaultCommand public void run(@Option(help = "name of file to be touched", required = true) final Resource<?> resource) { FileResource<?> fileResource = (FileResource<?>) resource; if (fileResource.exists()) { File file = fileResource.getUnderlyingResourceObject(); file.setLastModified(System.currentTimeMillis()); } else { fileResource.createNewFile(); } } }
@Help("Lists all resources recursively from the given resource.") public class FindPlugin implements Plugin
@Help("Lists all current forge properties") public class ListPropertiesPlugin implements Plugin
@Help("Executes an expression") public class ScriptExecPlugin implements Plugin
@Topic("Project") @RequiresProject @Help("Setup a plugin.") @Singleton public class SetupPlugin implements Plugin
@Help("Picks up a specific resource to work with.") @Singleton public class PickupResourcePlugin implements Plugin
@Help("Open files with the default system application") public class OpenPlugin implements Plugin
@Help("Edit files with the default system editor") public class EditPlugin implements Plugin