NetBeans 自身をビルド¶
ソースコードの入手¶
NetBeans 11以降は、Apacheプロジェクトに移り、次のGithubリポジトリで開発中です。
https://github.com/apache/netbeans
旧版のソースコードの入手(~NetBeans 8.2)¶
NetBeansのソースコードを入手します。NetBeansのソースコードはMercurial HGで管理されているので、入手にはMercurialをインストールしておきます。
$ hg clone http://hg.netbeans.org/main
ここで、mainの部分には、入手したいブランチ名を入れます。
- main-silver 開発ブランチ
- main-golden 開発ブランチで、デイリービルドに使われるリポジトリ
Windows環境では、Win32版Mercurialで、次のエラーが発生しました。
C:\Users\torutk\Documents\work\java\netbeans\netbeans_src\repo2> hg clone http://hg.netbeans.org/main 複製先ディレクトリ: main 全リビジョンを取得中 リビジョンを追加中 マニフェストを追加中 ファイルの変更を追加中 285759 個のリビジョン(1000990 の変更を 182690 ファイルに適用)を追加 ブランチ default へ更新中 中断: ファイル名または拡張子が長すぎます。: C:\Users\torutk\Documents\work\java\netbeans\netbeans_src\repo2\main\maven.samples/samples_src/javaee7/servlet/absolute-ordering-web-fragments/absolute-ordering-web-fragments-war/src/main/java/org/glassfish/servlet/absolute_ordering_web_fragments_war
エラーメッセージのパスはおおよそ250文字なので、たぶんWindows OSのAPIの260バイト制限あたりに引っかかったのかと思います。
とりあえず、substコマンドで作業ディレクトリをドライブにマウントしてパスを浅くします。
C:\> subst x: C:\Users\torutk\Documents\work\java\netbeans\netbeans_src C:\> x: X:\> cd repo2 X:\repo2> hg clone http://hg.netbeans.org/main destination directory: main requesting all changes adding changesets adding manifests adding file changes added 285759 changesets with 1000990 changes to 182690 files updating to branch default 96430 files updated, 0 files merged, 0 files removed, 0 files unresolved X:\repo2>
できました。(しかし、clone完了までとっても時間がかかります)
ビルド¶
ビルド(NetBeans 9~)¶
Jenkinsのビルドサイトがあります。
https://builds.apache.org/job/incubator-netbeans-windows/
https://builds.apache.org/job/incubator-netbeans-linux/
https://builds.apache.org/job/incubator-netbeans-release/
ビルド(~NetBeans 8.2)¶
日本語でNetBeans IDE自体のビルド手順を紹介しているブログがありました。
NetBeansをソースからビルドする
コマンドライン(ant)でビルドするようです。トップディレクトリからすべてのビルドを実施するので、大変時間がかかります。