OMLライブラリ管理機能

OMLのライブラリ管理コマンドは、以下の目的で使用します:
  • ライブラリの作成。
  • ライブラリのロード。
  • ライブラリのインストール。
  • ライブラリのアンインストール。

ライブラリは、OMLの言語機能に依存してスクリプトや関数(パスなど)をロードします。また、loader.omlスクリプトで、ライブラリに何が含まれているか、ロードやインストールに関する設定を正確に指定します。スクリプトに関してはライブラリの作成を参照してください:

ライブラリの保護について以下を使用します:
  • スクリプトを暗号化する機能(例えば、loader.omlloader.omcに変換する)。
  • ライセンスフィーチャー。

OMLライブラリ管理用OMLコマンド

このセクションでは、ライブラリとともに使用できるOML言語関数について説明します。OMLコマンドは、ライブラリへ追加または公開するスクリプトや関数を指定するために、loader.omlunload.omlスクリプトで利用されます。

addpath(thepath)
thepathで指定されたOMLスクリプトはすべて使用可能で、ライブラリブラウザに表示されます。オートコンプリートは有効になります。
addhiddenpath(thepath)
thepathで指定されたすべてのOMLスクリプトは使用可能ですが、ライブラリブラウザには表示されず、オートコンプリートは有効になりません。通常、これはライブラリによって提供されるユーティリティ関数のためのものですが、エンドユーザーによって直接表示されたり使用されたりすることはありません。
registerpath(thepath)
addpath()の拡張。2番目の引数は、事前登録する関数名のセル配列。各ファイルを実際に構文解析および実行しなくても、オートコンプリートで表示されます。
addlibrary(thelibraryname .dll または.so)
バイナリライブラリをロードするOMLコマンド。ユーザー定義ライブラリのコンテキストでは、主にBCI Binary Compiler Interfaceを使用して開発されたライブラリに適用されます(BCIのCompose ドキュメントを 参照してください)。
removepath(thepath)
addpath()の逆。
removehiddenpath(thepath)
addhiddenpath()の逆。
removelibrary(thelibrary .dll または.so)
addlibrary()の逆。

OMLライブラリ管理コマンド

ライブラリが作成されると(ライブラリが上記の要件と定義に準拠していることを意味します)、ライブラリ管理コマンドを使用してCompose内で使用することができます。

ComposeコンソールまたはCompose GUIユーザーで作成したコマンド
librarymanager('install', '<fullpath to library root directory>')
  • インストールプロセスでは、ライブラリのルートディレクトリで、ライブラリ作成者が提供するloader.omcまたはloader.omlスクリプトが実行されます。
  • インストールされたライブラリは、Composeの起動時にアクティブになります(ロードされ、使用可能な状態になります)。
  • ルートディレクトリ名はライブラリの名前です。ライブラリファイルを意味のある名前のディレクトリに置くと、識別しやすくなります。
librarymanager('uninstall', '<fullpath to library root directory>')
  • アンインストールプロセスは、ライブラリのルートディレクトリにあるライブラリ作成者が提供するunload.omcまたはunload.omlスクリプトを実行します。
  • アンインストールされたライブラリは、Composeの起動時にロードされません。
  • uninstallコマンドは、ライブラリ一覧テーブルから完全に一致するものを探し、そのテーブルからライブラリのエントリを削除します。
  • uninstallコマンドを使用する適切なフルパスを特定するために、listコマンドを使用することを推奨します。
librarymanager('load', '<fullpath to library root directory>')
  • ロードされたライブラリは、アンロードされる、またはComposeセッション終了時まで、実行中のComposeセッションにおいて、利用可能な状態となります。Composeの起動時、以前のセッションで"ロード"されたライブラリが自動的にロードされることはありません。
  • ロードプロセスでは、ライブラリ作成者が提供するloader.omcまたはloader.omlスクリプト(ライブラリのルートディレクトリにある)が実行されます。
librarymanager('unload', '<fullpath to library root directory>')
  • アンロードされたライブラリは、実行中のComposeセッションにおいて、アクティブな状態ではなくなります(未公開で利用できない状態)。インストールされたライブラリはアンロードによってアンインストールされず、次にComposeが開始されるときにアクティブな状態 (公開され、使用可能) に戻ります。
  • アンロードプロセスでは、ライブラリ作成者が提供するunload.omcまたはunload.omlスクリプト(ライブラリのルートディレクトリにある)を実行します。
librarymanager('list')
  • インストールされているライブラリの概要を表示します。インストールされたライブラリにのみ適用され、ロードされたライブラリには適用されません。
  • ライブラリインストールテーブルからインストールされたライブラリのパスを表示します。
librarymanager('listdetail')
インストールされているライブラリの詳細を表示します。インストールされたライブラリにのみ適用され、ロードされたライブラリには適用されません。
詳細は、ライブラリ作成者が提供するライブラリのloader.omlファイルの詳細にもとづきlibrary.iniから得られます。
librarymanager('launch')
  • この機能は、インストールされたディレクトリごとにロード処理を実行します。実際には、これはloader.oml (または loader.omc)スクリプトがライブラリに対して実行されることを意味します。
  • 通常、ライブラリマネージャのloader.omlがこの機能を実行するので、ユーザーがこの機能を実行する必要はありません。しかし、OMLの起動後にこの機能を実行すると、ライブラリ作成者が提供するメッセージによっては、ロードシーケンス中に有用な情報が得られる場合があります。
個々のライブラリのloader.oml関数用に設計された関数
returnlist = librarymanager('scriptlist')
  • scripts/omlディレクトリにあるすべてのファイル名を含むセルを返します。
  • scripts/omlの下にある各*.omlファイルは、OML関数を含むスクリプトであると仮定されます。そうでない場合、'scriptlist' オプションは不正確な関数リストを提供するので、使用すべきではありません。
libraryname = librarymanager('libraryname')
  • ライブラリのルートディレクトリがその名前です。
  • ' libraryname' オプションは、ライブラリのルートディレクトリ名を返します。繰り返しますが、これはライブラリの名前とみなされます。意味のあるフォルダー名のディレクトリにライブラリを配置することをお勧めします。
librarymanager('saveini', cell_settings)
  • ルートディレクトリにlibrary.iniファイルを書き込みます。
  • 変数cell_settingsには、ライブラリのルートディレクトリ、ライブラリの説明名、ライブラリのバージョン、ライブラリの短い説明、長い説明を格納しなければなりません。
librarymanager('unixlinkadd', library_directory, cell_files)
  • Unix BCIライブラリを実行するためのシンボリックリンクを作成します。
  • BCIライブラリは、Composeの起動時にLD_LIBRARY_PATHに追加されるディレクトリに作成されるシンボリックリンクによってアクセスされます。このコマンドは、UnixシステムでBCI ライブラリを使用できるようにするために、loader.oml (または.omc) ファイルで必要です。
  • library_directoryには、ライブラリのバイナリファイルが格納されているディレクトリへのフルパスを指定します。
  • 'unixlinkadd'は、追加する必要があるディレクトリごとに個別に実行する必要があります。
  • 変数cell_filesには、ライブラリの実行に必要な各バイナリファイルのファイル名を記述します。
librarymanager('unixlinkdel', cell_files)
  • Unix BCIライブラリを実行するために作成されたシンボリックリンクを削除します。
  • このコマンドは、Unixシステム上でBCIライブラリを実行するために作成されたリンクファイルを削除するために、unload.oml (または.omc) ファイルで必要です。
  • 変数cell_filesには、ライブラリの実行に必要な各バイナリファイルのファイル名を記述します。
  • ' unixlinkdel' コマンド1つで、BCIライブラリを実行するために作成されたリンクをすべて削除することができます。
librarymanager('unixlinkdir')
  • シンボリックリンクを含むディレクトリの場所を返します。
  • このアクションは、'unixlinkadd'と'unixlinkdel'の両方が内部的に使用し、ディレクトリの場所を取得します。
  • ライブラリの作成者とユーザーは、BCIライブラリを起動するために作成されたリンクを確認する目的でこのアクションを使用することがあります。
  • 例:
    • dir(librarymanager('unixlinkdir'))
    • system( [ 'ls -alF ' librarymanager('unixlinkdir')])