2016-02-23 12 views

Odpowiedz

1

Odpowiedź brzmi "tak", ale będziesz musiał użyć nowego modelu oprogramowania Gradle, który bardzo się wysunie. Będzie to droga pełna bólu, jako że będziesz blezer, jak nauczyłem się go używać do projektu C/Cpp. Oto ogólnie, jak będzie wyglądać twoja kompilacja.

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) 
    } 
} 

Referencje: 1) Java Software model https://docs.gradle.org/current/userguide/java_software.html 2) Aromaty https://docs.gradle.org/current/userguide/native_software.html note: Nie jestem pewien, jak również smaki są obsługiwane Java Software model, zrobię kilka testów i sprawozdania.

Aktualizacja: Jest to możliwe, ale obecnie nie jest obsługiwane przez bibliotekę JvmLibrarySpec. Spróbuję opublikować bardziej kompletną odpowiedź z przykładem, jak wykonać niestandardową specyfikację.

+0

Nie znalazłem żadnych odniesień do smaków w połączonym dokumencie. – RaGe

+0

@RaGe Zaktualizowałem referencje. Muszę zrobić podwójne sprawdzenie, aby upewnić się, że działa tak, jak to zaznaczono. Pracuję z modelem oprogramowania wyłącznie w c/cpp, a nie w naszych projektach Android/Java. Pozwól mi zrobić jakiś test, a ja złożę raport. –

+0

@RaGe jest to wykonalne, ale obecnie nie jest obsługiwane przez JvmLibrarySpec. Aby to zrobić, musisz utworzyć własną specyfikację. Postaram się podać przykład jutro. –

Powiązane problemy