Voglio creare una libreria java per diversi clienti con gradle. C'è qualcosa di simile a sapori di prodotti noti da Android in "puro" gradle?Gradle product flavour in gradle "pure" (non gradle android)
Grazie.
Voglio creare una libreria java per diversi clienti con gradle. C'è qualcosa di simile a sapori di prodotti noti da Android in "puro" gradle?Gradle product flavour in gradle "pure" (non gradle android)
Grazie.
La risposta è sì, ma sarà necessario utilizzare il nuovo modello di software Gradle che è molto in fase di incubazione. Sarà una strada piena di dolore in quanto sarai un blazer di pista come ho imparato ad usarlo per un progetto C/Cpp. Ecco generalmente come sarà la tua build.
plugins {
id 'jvm-component'
id 'java-lang'
}
model {
buildTypes {
debug
release
}
flavors {
free
paid
}
components {
server(JvmLibrarySpec) {
sources {
java {
if (flavor == flavors.paid) {
// do something to your sources
}
if (builtType == buildTypes.debug) {
// do something for debuging
}
dependencies {
library 'core'
}
}
}
}
core(JvmLibrarySpec) {
dependencies {
library 'commons'
}
}
commons(JvmLibrarySpec) {
api {
dependencies {
library 'collections'
}
}
}
collections(JvmLibrarySpec)
}
}
Riferimenti: 1) Java Software Modello https://docs.gradle.org/current/userguide/java_software.html 2) Sapori https://docs.gradle.org/current/userguide/native_software.html nota: io non sono sicuro di come i sapori sono supportati il Software Modello Java, farò qualche prova e riferire.
Aggiornamento: è fattibile ma non è attualmente supportato da JvmLibrarySpec. Proverò a pubblicare una risposta più completa con un esempio di come fare le specifiche personalizzate.
Non sono riuscito a trovare alcun riferimento ai sapori nel documento collegato .. – RaGe
@RaGe Ho aggiornato i riferimenti. Devo fare qualche doppio controllo per assicurarmi che funzioni come notato. Lavoro con il modello di software esclusivamente in c/cpp e non nei nostri progetti Android/Java. Lasciami fare un test e ti riporto. –
@RaGe è fattibile ma non è attualmente supportato da JvmLibrarySpec. Per farlo dovrai creare le tue specifiche. Proverò a postare un esempio domani. –