プロジェクトとパッケージ管理
💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。
Flix にはビルドシステム(Build system)とパッケージマネージャ(Package manager)が付属しています。
ビルドシステムは、プロジェクトを Java クラスファイル、JAR ファイル、あるいは単一のスタンドアロンな fat JAR ファイルにコンパイルします。パッケージマネージャは、プロジェクトが依存する Flix パッケージや Java ライブラリをダウンロードし、プロジェクトを GitHub 上に他の人が依存できるパッケージとして公開します。
Flix プロジェクトは、flix.toml マニフェスト、src 内の Flix ソースコード、test 内のテストからなるディレクトリです。このようなプロジェクトは init コマンドで作成し、check・run・test コマンドで作業を進め、build-jar コマンドや release コマンドで出荷します。
コマンドはコマンドラインから実行します。Flix をどのように起動するかは、はじめに で説明したように、インストール方法によって異なります。ほとんどのコマンドは REPL からも実行でき、REPL ではコロンを付けて :check や :test のように書きます。VSCode では何かを実行する必要はありません。プロジェクトは入力するたびにチェックされ、main の上や各テストの上に ▶ Run と ▶ Run Tests が表示されます。
ヒント: 作業中は REPL を使うことを推奨します。REPL はプロジェクトをメモリ上に保持し、変更された部分のみを再コンパイルするため、REPL での
:checkや:testは、毎回ゼロから実行されるシェルからの同じコマンドの再実行よりもはるかに高速です。
コマンド一覧
| コマンド | 説明 |
|---|---|
init | カレントディレクトリに新しいプロジェクトを作成します。 |
check | プロジェクトにコンパイルエラーがないか検査します。 |
run | プロジェクトの main を実行します。 |
test | プロジェクトのすべてのテストを実行します。 |
doc | プロジェクトの API ドキュメントを生成します。 |
format | プロジェクトのソースコードを整形します。 |
stat | プロジェクトに関する統計情報を表示します。 |
build | プロジェクト全体をコンパイルします。 |
build-classes | プロジェクトを Java クラスファイルにコンパイルします。 |
build-jar | プロジェクトから JAR ファイルをビルドします。 |
build-fatjar | すべての依存関係をバンドルした JAR ファイルをビルドします。 |
build-pkg | プロジェクトから Flix パッケージ(fpkg ファイル)をビルドします。 |
clean | build と artifact ディレクトリを削除します。 |
install | Flix パッケージを依存関係に追加します。 |
upgrade | Flix パッケージの依存関係のバージョンを変更します。 |
remove | Flix パッケージを依存関係から削除します。 |
outdated | より新しいバージョンが利用可能な依存関係を表示します。 |
release | プロジェクトの新しいバージョンを GitHub にリリースします。 |
プロジェクトの依存関係は、自分で編集することも、install・upgrade・remove コマンドで編集することもでき、依存関係の使用 で説明するように、マニフェストの中で宣言します。すべての依存関係は、依存関係の信頼 で説明するように、その依存関係が実行できることを制限する security context(セキュリティコンテキスト) の中でビルドされます。
注意: ほとんどのコマンドは、マニフェストが存在しないディレクトリでも動作します。その場合 Flix は
*.flix、src/**、test/**からソースファイルを読み込み、依存関係の解決は行いません。build-pkg・clean・install・upgrade・remove・releaseの各コマンドにはマニフェストが必要です。