bndautomanifest (Java 9 module -> OSGi)
- 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