bndautomanifest (Java 9 module -> OSGi)
- 主要言語
- Java
- スター
- 137
- フォーク
- 33
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
In gradle 3.4, there is now [support for separate api and implementation dependencies](https://docs.gradle.org/current/userguide/java_library_plugin.html).
```gradle
dependencies {
api 'commons-httpclient:commons-httpclient:3.1'
implementation 'org.apache.commons:commons-lang3:3.5'
}
```
Soon (Q2 2017), it will also [support declaring which packages are API](https://discuss.gradle.org/t/will-java-library-get-support-for-declaring-api-packages/21845).
```gradle
api {
exports 'com.somepackage'
}
```
Once this ships, we will create a plugin, `osgi.bndautomanifest`, which will use this metadata to automatically configure `osgi.bndmanifest`.
This way any library with Java 9 module metadata can easily support OSGi. Also, the `api` and `implementation` separation allows gradle to enforce that the implementation details aren't accidentally leaking into the api.
コントリビューションガイド
調査の方向性
まず、issue で説明されている Gradle Java Library Plugin のメタデータを確認します。これには api と implementation の依存関係、および提案されている api exports 宣言が含まれます。次に、osgi.bndmanifest が現在どのように構成されているかを調べます;利用可能な Java 9 モジュールメタデータをその構成に変換する新しい osgi.bndautomanifest プラグインができれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- build-system
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100