bndautomanifest (Java 9 module -> OSGi)
- Langage dominant
- Java
- Étoiles
- 137
- Forks
- 33
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par examiner les métadonnées de Gradle Java Library Plugin décrites dans l’issue, notamment les dépendances api et implementation ainsi que la déclaration api exports proposée. Examinez ensuite la configuration actuelle de osgi.bndmanifest ; le travail consisterait à créer un nouveau plugin osgi.bndautomanifest qui convertit les métadonnées de modules Java 9 disponibles en cette configuration.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- build-system
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100