Apache Software Foundationは先頃,JDK 11の拡張サポートを備えたNetBeans 10.0(インキュベーション中)をリリースした。JUnit 5のサポートが追加され,PHP,JavaScript,Groovyモジュールが再統合されている。
Javaで記述され,当初はJavaコミュニティ向けに設計されていたNetBeansは,HTML5,PHP,C/C++などの言語サポートを備えた,対象言語を選ばないクロスプラットフォームIDEである。元々Xelfi for Java IDEとして知られていたNetBeansは,1996年,チェコ共和国のチャールズ大学に在籍していた数学と物理学の学生たちが開発したものだ。最終的にSun MicrosystemsのフラッグシップIDEとなり,2000年7月にオープンソース化された。
OracleがApacheへの寄贈を提案してから1年後の2017年9月,最初のコード提供がApacheのインキュベーションプロセスに従って実施された。NetBeans 10は,Oracleからの2回目のコード提供になる。
NetBeansの移行プロセスには,寄贈されたOracleのコードからApacheへの,クラスタの再統合が伴う。このコードの再統合はライセンス上の問題から必要となるもので,法的にApacheからのリリースを可能にするために,すべてのソースコードを精査する作業が必要となる。例えば,Java 9と10のサポートを含んだ最初のNetBeansがApacheからリリースされた際には,platform
やide
やjava
といったクラスタがNetBeans 9.0に再統合されている。
NetBeansの新機能に関する詳細については,"new and noteworthy"のページを参照してほしい。
NetBeansは,GitHub上のソースリポジトリからダウンロードとビルドが可能だ。
JDK 11
JDK 11の拡張サポートには,次のものが含まれている。
nb-javadoc
モジュールがJDK 11用に更新された。- JEP-320に従って,Java EEとCORBAモジュールが削除された。
- JEP-335に従って,Nashorn JavaScriptエンジンが非推奨となった。
- JEP-323に従って,暗黙的に型指定されたラムダ式でvarがサポートされた。
JUnit 5
JUnit 5のサポートも追加されているが,JUnit 4とJUnit 5の違いのため,Apache Mavenと Apache Antでビルドするプロジェクトのセットアップが異なる。NetBeans 10のデフォルトでは,Mavenでビルドするプロジェクトで新たにテストを生成する場合にはJunit 5が使用される。IDEが新たにテストを生成し,JUnit 5の依存関係がpom.xml
ファイルに追加される。Antには,JUnit 5でのテスト呼び出しをサポートするAntタスクであるJUnit Launcherが提供されている。
もうひとつはJUnitの提供するコマンドラインJavaアプリケーションのConsole Launcherを使う方法で,これはMavenプロジェクトとAntプロジェクトのいずれにも使用することができる。以下の例のように起動される実行可能なJarファイルで,さまざまなオプションの設定が可能だ。
java -jar junit-platform-console-{ version }.jar --scan-class-path --class-path target/classes
Makoto Consulting Groupのオーナ兼プリンシパルコンサルタントである独立系ソフトウェア開発者のJ. Steven Perry氏が,Console Launcherの使用方法を紹介した45分間のビデオを公開している。
2019年のロードマップ
Apacheのロードマップによると,2019年中に2回のリリースが予定されている。3月にリリース予定のNetBeans 11では,JDK 12がサポートされると同時に,Java EE/Jakarta EEクラスタが再統合される。NetBeans 12は9月にリリース予定で,JDK 13とC/C++クラスタの再統合が計画されている。C/C++のコードは現在,Oracleから寄贈される作業プロセス中である。
リソース
- Oracle Gives NetBeans to the Apache Foundation by InfoQ (September 19, 2016)
- First NetBeans Code Drop Lands at Apache by InfoQ (September 19, 2017)
- A Brief History of NetBeans by Apache