eclipse-platform / eclipse-platform/eclipse.platform
Create a RefreshProvider base on the NIO API and enable autorefresh for all operating systems except MacOS
- 主要言語
- Java
- スター
- 165
- フォーク
- 174
- 平均マージ
- 2日 8時間
- マージ済み PR(30日)
- 22
説明
Currently Eclipse do not refresh resources by default, and even if enabled, [only Win32 has support for native events](https://github.com/eclipse-platform/eclipse.platform/blob/master/resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/refresh/win32/Win32Monitor.java).
Java contains an own [platform independent API to watch local files systems](https://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html). We should reuse this whenever possible as it is likely better maintained, optimized and improved than everything we can offer ourself.
Given that [all operating systems except MacOS seem to support native events](https://github.com/eclipse-m2e/m2e-core/issues/1013#issuecomment-1302764470), we should even enable this by default (except for MacOS), one can even think about simply checking if `PollingWatchService` is used (e.g. by create a dummy one and check the classname).
コントリビューションガイド
調査の方向性
まず resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/refresh/win32/Win32Monitor.java と周辺の refresh provider を確認し、次に Java の WatchService API を読んでください。現在 refresh がどのように有効化されているかを追跡し、プラットフォーム非依存の provider をどこに組み込めるかを判断してください。完了条件は、NIO ベースの refresh がサポート対象のオペレーティングシステムで利用可能になり、デフォルトで有効化されていることです。ただし MacOS は除外します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- operating-systems
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 32/100