原文はこちら。
The original article was written by Santiago Pericas-Geertsen (Engineer, Oracle).
https://medium.com/helidon/introducing-the-helidon-cli-95c1e22d8fdb
最新のHelidon 2.0.0 milestone M2に追加された新機能の一つに、CLI(Command Line Interface)があります。Helidon CLIを使うと開発者が最小限の労力でHelidonを使い始めることができます。新たなアプリケーションを作成し、ビルド、実行などもちょっとしたコマンドを書くだけで可能です。
とりわけ、所謂開発ループ、短縮してdevloopが利用できます。アプリケーションのビルドや実行、ソースファイルの監視、アップデートの都度のアプリケーション再起動を通じて、開発者が完全に対話的な方法でHelidonについて学習できます。を使うことができます。
インストールの簡便性のため、(GraalVMでコンパイルされた)スタンドアロンの実行ファイルとしてCLIを配布しています。現在LinuxとmacOS向けのダウンロードがご利用いただけます。単純にバイナリをダウンロードしてPATHが通っている場所にインストールすれば、準備完了です。
2.0.0-cli-preview
https://github.com/oracle/helidon-build-tools/releases/tag/2.0.0-cli-preview
Let’s Take a Closer Look
CLIをダウンロード、インストール後、helidonとタイプして使用法を確認してください。
>> helidon
Usage: helidon [OPTIONS] COMMAND
Helidon Project command line tool
Options:
-D<name>=<value> Define a system property
--verbose Produce verbose output
--debug Produce debug output
Commands:
build Build the application
dev Continuous application development
features List or add features to the project
info Print project information
init Generate a new project
version Print version information
Run 'helidon COMMAND --help' for more information on a command.
手始めは、initコマンドを使っての新たなアプリケーションの作成です。このコマンドでは、使用するHelidonのバージョンだけでなく、フレーバー(SEまたはMP)の指定が可能です。
>> helidon init --flavor mp --version 2.0.0-M2
Generating helidon-quickstart-mp from archetype 2.0.0-M2
Generated /Users/spericas/demo/helidon-quickstart-mp
Switch directory to ./helidon-quickstart-mp to use CLI
この例では、initコマンドはMaven archetypeを使ってHelidon MP quickstartサンプルアプリケーションを生成しています。続いて、この新規作成したアプリケーションのdevloopを開始し、ビルド、実行が可能です。
>> cd helidon-quickstart-mp/
/Users/spericas/demo/helidon-quickstart-mp
>> helidon dev
Process with PID 6434 is starting
[INFO] Scanning for projects...
...
[INFO] BUILD SUCCESS
...
[INFO] Process with PID 6457 is starting
...
2020.03.23 14:55:48 INFO io.helidon.common.HelidonFeatures Thread[main,5,main]: Helidon MP 2.0.0-M2 features: [CDI, Config, FaultTolerance, Health, JAX-RS, Metrics, Security, Server, Tracing]
http://localhost:8080/greet
(この話の目的で単純化していますが)上記の出力で、アプリケーションはMavenを使ってビルドして起動されて、リクエスト処理の準備ができていることがわかります。URL http://localhost:8080/greet にアクセスすると、JSON ペイロードに埋め込まれた hello-world 文字列が返されます。
devloopの実行中に、Java ファイル、リソースファイル、pom ファイルなどのアプリケーションのソースファイルに変更があった場合、アプリケーションは自動的に再起動され、その変更は開発者にすぐに見えるようになります。このようにdevloopドリブンの動的な動作は、スクリーンキャストを使用して理解するとはるかに簡単です。この記事では説明していない他のCLIコマンドと同様に、devloopの使用方法の詳細については、Helidon CLIのスクリーンキャストをご覧ください。
What’s Next?
これはHelidon CLIの最初のリリースです。現在のバージョンでは、Mavenのみをサポートしており(Gradleは未サポート)、機能とネーミングのカスタマイズ機能がいくつか欠けています。このリリースの主目的は、将来のバージョンのためのフィードバックを集めることです。CLIの究極の目標は、Helidonを使い始めた全ての人が、簡単なアプリケーションを作成して、数分以内に実行できるようにすること、その際に大規模なダウンロードを必要としなくてよいようにすることです。
References
- 2.0.0-cli-preview
https://github.com/oracle/helidon-build-tools/releases/tag/2.0.0-cli-preview - GraalVM
https://www.graalvm.org/