ビルドと実行

ビルドコマンド

コマンド

説明

./gradlew buildPlugin

プラグインのビルド(レクサー生成、コンパイル、パッケージングを含む)

./gradlew clean buildPlugin

クリーンビルド(ゼロからのビルド)

./gradlew runIde

プラグインを読み込んだ開発用 IDE インスタンスを起動

./gradlew test

すべてのテストを実行

./gradlew ktlintCheck

ktlint コードスタイルチェックを実行

./gradlew ktlintFormat

ktlint の問題を自動修正

./gradlew koverHtmlReport

HTML コードカバレッジレポートを生成

./gradlew verifyPluginStructure

プラグインディスクリプタと構造を検証

./gradlew verifyPluginProjectConfiguration

プロジェクト構成を検証

./gradlew verifyPlugin

バイナリ互換性を検証

注釈

./gradlew runIdeprepareSandbox 実行時にサンドボックス内の古い rescript-intellij-plugin-<old>.jar を自動的に削除します。これは pluginVersion バンプ後に IDE が古いプラグイン jar を読み込んで PluginException を発生させるのを防ぐためです。完全なサンドボックスリセットが必要な場合のみ ./gradlew clean runIde を使用してください。

JFlex レクサーの生成

JFlex レクサー(RescriptFlexLexer.java)はビルド時に Rescript.flex から自動生成されます:

  • ソース: src/main/java/com/rescript/plugin/lang/Rescript.flex

  • 生成ファイル: src/main/java/com/rescript/plugin/lang/RescriptFlexLexer.java

  • Gradle タスク: generateRescriptLexer

generateRescriptLexer タスクは compileJavacompileKotlin の依存タスクであるため、手動で実行する必要はありません。生成ファイルは .gitignore に含まれています。

警告

RescriptFlexLexer.java を直接編集しないでください。常に Rescript.flex を編集し、ビルドで Java ファイルを再生成してください。

プラグインのパッケージング

./gradlew buildPlugin 実行後、パッケージされたプラグインは以下に出力されます:

build/distributions/rescript-intellij-plugin-<version>.zip

この .zip は、SettingsPluginsInstall Plugin from Disk から互換性のある JetBrains IDE にインストールできます。

Gradle の設定

主要な設定ファイル:

ファイル

用途

build.gradle.kts

ビルドスクリプト(プラグイン、依存関係、タスク)

gradle.properties

バージョン番号、プラットフォーム設定

settings.gradle.kts

プロジェクト名とリポジトリの設定

プラットフォームバージョン

対象の IntelliJ Platform バージョンは gradle.properties で設定されています:

pluginSinceBuild = 253.0  # IntelliJ 2025.3+

注意: pluginUntilBuild は意図的に設定されていません。これにより、プラグインは将来のすべてのプラットフォームバージョンと互換性を持ちます。

CI パイプライン

GitHub Actions CI パイプライン(.github/workflows/ci.yml)はすべてのプッシュと PR で実行されます:

  1. actionlint — GitHub Actions ワークフローファイルの検証

  2. ktlint — コードスタイルチェック

  3. Build — コンパイルとパッケージング

  4. Test — カバレッジ付きテスト実行(Kover)

  5. Verify — プラグイン構造とバイナリ互換性の検証(プッシュ時のみ)