Kilimanjaro Tools

Small command-line utilities in net.okapia.osid.kilimanjaro.tools for poking at a runtime, a configuration, or an implementation from a terminal.

Overview

A set of handy, and not so handy, tools bundled with Kilimanjaro (I'll asterisk the tools I find useful). These are all in java net.okapia.osid.kilimanjaro.tools.

ToolOSIDWhat it's for
Config*osid.configurationDump the parameter values in effect.
InstallationPackageosid.installationList registered sites and installed packages.
Ident*anyPrint an OSID Provider's OsidProfile, provider, and branding assets.
LoggerLoggingSend one message at a syslog-style priority.
ReposeRepositorylist, get, or search assets in a repository
MetaanyList OSIDs and interfaces, dump method signatures.

Config

Dumps configuration parameter values to stdout, type-switching on each parameter's syntax. See Configuration for what those values and their precedence actually mean.

usage: Config [-osid <impl>] [-context <context>] [-config <id>] [-runtime]

-runtime dumps the current runtime's own active configuration (runtime.getConfiguration()). Otherwise, -osid <impl> boots that Configuration Provider implementation and -config <id> dumps one configuration by Id via getValueLookupSessionForConfiguration(). -context sets the boot context name passed to BootLoader.getRuntimeManager() (default "Config").

InstallationPackage

Talks to the Installation OSID — a separate, unrelated provider that tracks installed software packages and the sites they're installed at (schema: schemas/site.rnc, installation.rnc; not part of the Configuration file lookup described on the Configuration page). With no arguments it lists sites; with -site <id> it lists every installation registered at that site, including version, install date, and installing agent.

usage: InstallationPackage [-osid <impl>] [-site <site>]

Ident

Identifies an implementation class in a jar file or a running root runtime — prints its OsidProfile (Id, name, description, version, release date, license), its getProvider() object, and, with -v, its branding asset list (getBranding()) in full detail. It also derives a small deterministic fingerprint from the implementation class name's hash.

usage: Ident [-v] [-r] [-jar <jar>] [-osid <impl>]

-osid <impl> resolves which OSID the class belongs to by testing it against every manager and proxy-manager interface in the OSID enumeration, then boots and inspects it. -r <impl> inspects a runtime implementation itself rather than a manager under it. -jar <path> skips booting anything — it opens the JAR's manifest and scans every class inside for OSID manager or proxy-manager interfaces, printing which OSID each one implements.

Logger

Sends one message through the Logging OSID at a syslog-style priority (trace, debug, info, warning, error, critical, fatal; default info).

usage: Logger [-p <priority>] [-osid <impl>] <message>

Repose

A small Repository OSID browser over a federated view of repositories. -list prints every asset's Id and display name; -get <id> prints one asset, and with -v its full detail including every AssetContent, record type, and property; -search <query> runs a wildcard keyword match against asset content.

usage: Repose [-v] [-list] [-get <id>] -osid <impl>

Meta

The odd one out — it doesn't broker a manager at all. It reflects over the OSID interface metadata layer (org.osid.meta) to list every known OSID and dump the method signatures of a given interface, including parameter types and declared exceptions.

usage: Meta [-h] [-l] [-p] [-s] [-osid <pkg>] [-int <interface>]
FlagEffect
-ppreload/prime every known OSID interface
-llist — OSIDs by default, or interfaces of -osid <pkg>, or methods of -int <interface>
-sprint load/access time and memory delta for the operation performed