2016-02-23 17 views

risposta

1

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.

+0

Non sono riuscito a trovare alcun riferimento ai sapori nel documento collegato .. – RaGe

+0

@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. –

+0

@RaGe è fattibile ma non è attualmente supportato da JvmLibrarySpec. Per farlo dovrai creare le tue specifiche. Proverò a postare un esempio domani. –