Addons/Installation

From J Wiki
Jump to: navigation, search
User Guide | Installation | Development | Categories | Git | Build Log

Overview

For core addons (those downloadable directly from Jsoftware) and the base library, there is a Jqt GUI interface called Package Manager and a console interface using the jpkg verb.

Other addons can be installed from github using the install verb.

In each case you need internet access as well as write access to the ~addons folder. No personal data is sent to Jsoftware or github.

Package Manager

In Jqt, select menu Tools|Package Manager. This lists the installed and available packages for selection and installation.

jpkg Verb

This is a console interface for Package Manager. First load the package manager:

load 'pacman'

Then the jpkg verb is available with syntax:

<option> jpkg <addon name(s)>

where <option> is one of the following :

  • 'help' - display list of valid options for jpkg
  • 'history' - display the changelog for specified installed addon if present
  • 'install' - install specified addons if not installed locally, upgrades them to latest version if already installed
  • 'manifest - show manifest for specified installed addon
  • 'reinstall- shortcut for using the remove then install options
  • 'remove' - remove specified installed addon(s)
  • 'search' - display list of addons that contain the any of the "words" specified as the right argument
  • 'show' - display summary of addon(s) specified in the right argument
  • 'showinstalled' - display list of all installed addons
  • 'shownotinstalled' - display list of all addons not yet installed
  • 'showupgrade' - display list of all installed addons with later versions available
  • 'status' - display addon and base library status.
  • 'update' - update local copy of addon information from the server
  • 'upgrade' - upgrade specified installed addon(s) if later version is available

<addon name(s)> is one of the following:

  • space-delimited list of addon names
  • list of boxed addon names
  • zero length literal list - if specified with 'upgrade', all installed addons with later versions available will be upgraded.

For example:

   'update' jpkg ''         NB. updates local version of catalog
Updating server catalog...
Local JAL information was last updated: 26 Apr 2018 19:08:54
Installed addons are up to date, 6 addons are not yet installed.
The base library is up to date.

Installation examples:

   'install' jpkg 'convert/misc tables/csv'
   'install' jpkg 'base library'   NB. "base library" is specially handled

Search example:

   'search' jpkg '2048 nuri'
┌──────────────┬──────┬──────┬─────────┐
│games/2048    │1.0.7 │1.0.7 │2048 game│
├──────────────┼──────┼──────┼─────────┤
│games/nurikabe│1.0.38│1.0.38│Nurikabe │
└──────────────┴──────┴──────┴─────────┘

Show example:

   'show' jpkg 'search' jpkg 'sqlite'
== data/ddsqlite

Accessing SQLite database with C API using the data driver (JDD)
interface such as ddcon and ddfet.  Requires sqlite 3.6.0 or newer.

See readme.txt for shared library installation.

See wiki page http://code.jsoftware.com/wiki/JDD for help.

== data/sqlite

Sqlite allows direct access to sqlite databases.

See wiki page: code.jsoftware.com/wiki/Addons/data/sqlite/Overview

Show installed:

   'showinstalled' jpkg ''
┌─────────┬──────┬──────┬────────────────────────────────────────┐
│api/expat│1.0.11│1.0.11│libexpat                                │
├─────────┼──────┼──────┼────────────────────────────────────────┤
│api/gles │1.0.29│1.0.29│Modern OpenGL API                       │
├─────────┼──────┼──────┼────────────────────────────────────────┤
│api/jc   │1.0.1 │1.0.1 │api: J to C library (streams/fds/system)│
├─────────┼──────┼──────┼────────────────────────────────────────┤
...

install Verb

This facility was first available in J807, base library 8.7.15, and applies to github addons and commits whose manifest.ijs contains a FOLDER definition.

This will install an addon directly from github, and is primarily intended for non-core addons. The syntax is:

install 'github:owner/repo[@commit]'

The commit defaults to master.

For example:

   install 'github:jsoftware/convert_pjson'
installed: jsoftware/convert_pjson master into folder: convert/pjson
   install 'github:jsoftware/convert_pjson@9b02507'
installed: jsoftware/convert_pjson 9b02507 into folder: convert/pjson