Package Tools
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 releases | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| IGOR.6.20.x-1.3 | 2011-Nov-30 | 277.5 KB | Recommended for Igor 6.20.x and above | Help | |
