パッケージ宣言。
シグネチャ
{package PACKAGE-NAME
[, name = value [, ...] ]
[, manifest = "path" ]
[, {compiler-directives directives} ]
}
PACKAGE-NAME: パッケージに付ける名前。この名前は、ドット ('.') で区切られた 1 つ以上の有効な Curl 識別子で構成する必要があります。規則では、パッケージ名は、すべて大文字を使用し、次の形式の階層的な名前にしなければなりません。
ORGANIZATION.PRODUCT.PACKAGE
パッケージを作成する際に、組織のインターネット ドメイン名を逆に記述して、以下のような名前にする "逆方向のドメイン名" の規則の使用を考慮することもあります。
COM.MY-COMPANY.MY-PRODUCT.MY-PACKAGE
CURL で始まる名前は、SCSK 株式会社によって自社使用のためにすべて予約されています。
説明
この式は、任意の Curl パッケージ ソース ファイルの最初で
curl 式の後に配置する必要があり、一度しか現れません。パッケージ名を指定し、以下が含まれる場合もあります。
- マニフェストの仕様
- パッケージに含まれるコードをコンパイルしたり実行する場合に、パッケージは、パッケージと他のコンポーネント、又はリソースを配置するのに使用される既定のマニフェストのロケーションを指定します。これは、パッケージがマニフェストなしにインポートされた場合にマニフェストを配置するためにのみ使用されます。詳細については、ComponentMetaData.manifest を参照してください。
- コンパイラ ディレクティブ
- 宣言では、{compiler-directives ...} 句を使ってパッケージ内でコンパイル属性をグローバルに設定できます。内部構文は with-compiler-directives と同じです。
- メタデータ
次のフォーマットを使って、任意のメタデータを指定できます。
name = value パッケージで最も大切なメタデータ属性はバージョンです。この理由は、
import ステートメントがバージョン属性を使って同一パッケージの複数バージョンから選択を行うためです。
『開発者ガイド』に
メタデータ の詳細が掲載されています。
- 追加のソース ファイルのリスト
- 宣言では、{files ...} 句を使って宣言の直後にインクルードする 1 つまたは複数のファイルを指定できます。各ファイルは、その相対または絶対パスを含む文字列リテラルとして指定します。これは、include ステートメントを指定して、リストに各ファイルを含めるのと同じになります。実際には {files ...} 句の使用は推奨されておらず、代わりに include の使用が推奨されています。
パッケージとこの宣言の詳細は、『開発者ガイド』の
パッケージ を参照してください。
例
|| A simple package declaration with a version number:
{package COM.YOUR-COMPANY.YOUR-PRODUCT.YOUR-PACKAGE,
version = "1.0"
}
...
|| A more comprehensive declaration:
{package COM.YOUR-COMPANY.YOUR-PRODUCT.YOUR-PACKAGE,
version = "1.2.3",
author = "Joe Soap",
{compiler-directives
stringent? = true
}
}