Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Using headless commands (Buckminster)"

 
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Backlink|Buckminster Project}}
+
#REDIRECT [[Headless (Buckminster)]]
An Eclipse based application is generally installed in a (root) directory - typically a directory called 'eclipse' when getting the IDE and 'buckminster' for the Buckminster product - for simplicity here, let's refer to it as <tt>'c:\eclipse'</tt> as on a typical Windows machine (NB: Buckminster is intended to work the same on a Unix/Linux platform).
+
 
+
When installing Buckminster in the IDE, Buckminster will place a few extra files in this directory to accommodate the Buckminster command line entry point (the launcher). In particular, there will be an executable called 'buckminster' there (i.e. <tt>buckminster.exe</tt> on Windows).
+
 
+
When installing a Buckminster product derivative, the buckminster binary and others are likely already in place and you need to do nothing. The party who is doing the customization however, can read more [[Buckminster Product Configuration|here]].
+
 
+
A simple way is then to set your PATH to point to the directory - we will assume this to here and elsewhere to avoid cluttering the examples. Other possibilities is to use a command shell alias mechanism, or plain simply always invoke things with the full path.
+
 
+
==The 'buckminster' command==
+
The way to reach Buckminster commands from the command line is through one primary entry point - the 'buckminster' binary (for other possibilities, see [[Headless entrypoints (Buckminster)|here]].
+
 
+
Interacting with Buckminster headless should be simple and look and work like just any other command line application:
+
<pre>
+
c:\tmp>buckminster
+
No command provided. Try 'buckminster \-?'.
+
</pre>
+
 
+
Not very exciting - let's move on.
+
 
+
The buckminster command is built up to work similarly to many others: as an argument it takes a command name which is what is actually invoked. Compare for example to CVS commands. In this vein, the launcher 'buckminster' acts as a context & framework for each installed command. And, the launcher can itself be tailored to customize behavior and context for the actual command (using flags), while each command can itself have its own set of flags. In short, it looks like this:
+
<pre>
+
buckminster <commonflags> <commandname> <commandflags>
+
</pre>
+
 
+
The flags (both the common flags and the command flags) loosely follow the basic GNU convention of allowing either short flags using one dash and one letter, or long flags using two dashes and a (possibly abbreviated) long name. A common theme is that both buckminster and all individual commands (encouraged but not enforceable though) understands and acts on <tt>'-?'</tt>/<tt>'--help'</tt> to provide basic help text. The common flags are described [[Common headless flags (Buckminster)|here]].
+
 
+
There are also a set of core commands to make possible the minimum - e.g. installing a feature from an update site. More on this [[Core headless commands (Buckminster)|here]].
+
 
+
==Command naming structure==
+
Since it's possible to extend the commands available, Buckminster uses the plugin naming hierarchy together with the actual command name to avoid collisions. But, to avoid a user having to type the full structure every time, Buckminster will always try to match a command name to the shortest possible. It is also possible to assign any number of alias names to any command. An example is the <tt>'listprogressmonitor'</tt>
+
command that in reality is 'org.eclipse.buckminster.headless.listprogressmonitor' - it can also be reached through the alias <tt>'lspm'</tt>
+
(with or without the naming hierarchy).
+
 
+
A tip to script writers is to always use the full name in scripts - this will avoid surprises if suddenly another dynamically installed plugin also uses the same base name for a command, hence generating an error when the short name becomes ambiguous.
+
 
+
==See also==
+
 
+
* [[Common headless flags (Buckminster)|Common headless flags]]
+
* [[Core headless commands (Buckminster)||]]
+
* [[Headless entrypoints (Buckminster)|Headless entrypoints]]
+
 
+
[[Category:Buckminster]]
+
[[Category:Buckminster Headless]]
+
[[Category:Buckminster Documentation]]
+

Latest revision as of 12:27, 19 December 2006

Back to the top