diffplug / diffplug/goomph

bndautomanifest (Java 9 module -> OSGi)

Ouverte
#29 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.