diffplug / diffplug/goomph

bndautomanifest (Java 9 module -> OSGi)

Aperta
#29 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Java
Stelle
137
Fork
33
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando i metadati di Gradle Java Library Plugin descritti nell’issue, incluse le dipendenze api e implementation e la dichiarazione api exports proposta. Esamina poi come è configurato attualmente osgi.bndmanifest; il lavoro sarebbe completato da un nuovo plugin osgi.bndautomanifest che converta i metadati disponibili dei moduli Java 9 in questa configurazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
build-system
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.