Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ビルド管理

💡 お知らせ: このドキュメントはAIによって翻訳されています。表現に違和感がある場合は、原文(英語)を参照するか、翻訳にご協力ください。

ここでは、ビルドコマンドについて説明します。各コマンドは、コマンドライン、REPL、そして VSCode から実行できます。

新しいプロジェクトの作成

init コマンドを使うと、ディレクトリの中に新しいプロジェクトを作成できます。

これにより、デフォルトの Flix プロジェクト構造が作成されます:

.
├── flix.toml
├── LICENSE.md
├── README.md
├── src
│   └── Main.flix
└── test
    └── TestMain.flix

2 directories, 6 files

特に重要なファイルは flix.tomlsrc/Main.flixtest/TestMain.flix です。

マニフェスト(Manifest)ファイルである flix.toml については、次のセクションで説明します。

ヒント: init コマンドは安全に使用できます。まだ存在しないファイルのみを作成します。

プロジェクトのチェック

check コマンドを使うと、プロジェクトにコンパイルエラーがないかチェックできます。開発中は、build コマンドよりも check コマンドの方が望ましいです。check コマンドはコード生成を省略するため、大幅に高速だからです。

プロジェクトのビルド

build コマンドを使うと、プロジェクトをコンパイルできます。build コマンドを実行すると、コード生成を含めてプロジェクト全体がコンパイルされますが、ディスクには何も書き込まれません。build コマンドは、プロジェクト全体がコンパイルできることを確認するのに便利です。

クラスファイルのビルド

build-classes コマンドを使うと、プロジェクトを Java クラスファイルにコンパイルできます。build-classes コマンドを実行すると、プロジェクト全体がコンパイルされ、バイトコード、すなわちコンパイル済みの Java クラスが build/class ディレクトリに出力されます。main 関数がある場合は、次のように実行できます:

$ java -cp build/class Main

プロジェクト自体、またはその依存関係のいずれかが JAR ファイルに依存している場合は、それらのファイルもクラスパスに追加する必要があります。

プロジェクトのクリーン

clean コマンドを使うと、build ディレクトリを削除できます。これにより、build-classes が出力したすべてのクラスファイルと、doc が生成したすべてのドキュメントが削除されます。

JAR ファイルのビルド

build-jar コマンドを使うと、プロジェクトを JAR ファイルにコンパイルできます。build-jar コマンドは artifact/project.jar ファイルを出力します。main 関数がある場合は、次のように実行できます:

$ java -jar artifact/project.jar

この JAR ファイルには、プロジェクトのすべてのクラスファイルに加えて、resources ディレクトリ内のファイルが含まれます。プロジェクト自体、またはその依存関係のいずれかが JAR ファイルに依存している場合、ビルドされた JAR は外部の JAR に依存することがあります。

注意: build-jar はプロジェクト自体をコンパイルし、コンパイル済みの JAR ファイルを artifact ディレクトリに配置します。build-jar を実行する前に buildbuild-classes を実行する必要はありません。

fat JAR ファイルのビルド(すべての依存関係をバンドルする)

build-fatjar コマンドを使うと、プロジェクトを単一のスタンドアロンな fat JAR(ファット JAR)ファイルにコンパイルできます。build-fatjar コマンドは、Flix と Maven のすべての依存関係が 1 つの JAR ファイルにバンドルされた artifact/project.jar ファイルを出力します。

この JAR ファイルには、プロジェクトのすべてのクラスファイルに加えて、lib ディレクトリで見つかったすべての JAR 依存関係の内容が含まれます。

注意: build-fatjar はプロジェクト自体をコンパイルし、コンパイル済みの JAR ファイルを artifact ディレクトリに配置します。build-fatjar を実行する前に buildbuild-classes を実行する必要はありません。

Flix プロジェクトのビルド

build-pkg コマンドを使うと、プロジェクトを Flix パッケージファイル(fpkg)にまとめることができます。build-pkg コマンドを実行すると、artifact/project.fpkg ファイルが出力されます。

Flix パッケージファイル(fpkg)は、本質的にはプロジェクトのソースコードの zip ファイルです。Flix パッケージは、その flix.toml マニフェストとともに GitHub 上で公開できます。

プロジェクトの実行

プロジェクトを実行するために JAR ファイルをビルドする必要はありません。run コマンドを使うだけで、コンパイルしてメインエントリーポイントを実行できます。

プロジェクトのテスト

test コマンドを使うと、プロジェクト内のすべてのテストケースを実行できます。Flix は @Test でマークされたすべての関数を収集して実行し、結果のサマリーを表示します:

Running 1 tests...

   PASS  test01 1,1ms

Passed: 1, Failed: 0. Skipped: 0. Elapsed: 3,9ms.