Package Tools

Downloaded 128 times
Average rating
(0 votes)

Overview

This package is to provide a standardized way for developers to manage packages that they distribute to others. In particular, this package sets up key information about the package in a way that it remains resident in the experiment. It also provides a standardized way to query for help and other information about a package as well as to remove a package.

Features

The package provides the following set of functions:

Global

PackageSetup(name,[folder,file,info,author,version,hashelp,removable,quiet])
Set up a package.
- name: name of package

- folder: storage in root:Packages:folder (default is root:Packages:name)
- file: source originates in the given file
- info, author, version: information, author, and version number
- hasHelp: 0-no, 1-yes
- removable: 0-no, 1-yes, NaN (non-existent key)-standard removal not supported
- quiet: 0-no report in history; 1-report of setup in history (default)

PackageUpdate(name,[folder,file,info,author,version,hashelp,removable,quiet])
Update a package.

PackageHelp(name,[key])
Displays the help file (if it exists) for the package (equivalent to DisplayHelpTopic name). Otherwise, shows alert that help file is not included. The optional key=keystring can be used to show the given keystring information (if it exists), where keystring is one of the options give under PackageSetup, as in PackageHelp("PackageTools",key="author").

PackageRemove(name,[quiet])
Removes the package (without query or report in history when quiet=1, default is quiet=0).

PackageExists(name)
Returns 1 if a package has been set up by PackageTools or 0 if not. Also sets a flag V_exists to same value.

Static

PackageTools#ListPackages()
Lists all the package tool information.

PackageTools#ShowLog()
Shows a log file recording setup, update, or removal information.

PackageTools#PackageKey(name,key)
Returns as a string the key value for the named package.

PackageTools#PackageFolderDFR(name,[folder])
Returns as a DFREF the location of the package folder for the named package (to the given folder level).

Distribution Details

  • Experiments: none
  • Procedure Files: PackageTools.ipf
  • XOPS: none
  • Demos: none
  • Requires Packages: NONE
  • Help Files: none
  • Documentation: the Web pages for this project, an example package header, and an example package setup function

See also here for a Code Snippet similar to what is used within this package for getting help about and removing a package.

User Notes

You SHOULD put an alias (shortcut) to this procedure in the Igor Procedures folder to make full use of all of its features. The procedure includes a hook function that is used to update itself. See also here for a Code Snippet showing how to make use of such a feature in your own package.

Releases

Official releasesDateSizeLinksStatus



Back to top