2016-02-23 6 views

cevap

1

Cevap evet ama çok fazla inkübe olan yeni Gradle yazılım modelini kullanmak zorunda kalacaksınız. Bir C/Cpp projesi için kullanmayı öğrendiğim gibi bir iz blazer olacağından, acı dolu bir yol olacak. İşte genel olarak yapınızın nasıl görüneceği.

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

Referanslar: 1) Java Yazılım Modeli https://docs.gradle.org/current/userguide/java_software.html 2) Tatlar https://docs.gradle.org/current/userguide/native_software.html not: Ben tatlar Java Yazılım Modeli, bazı testler yapmak ve rapor veririm desteklenen ne kadar iyi olduğundan emin değilim.

Güncelleştirme: Bu şu anda yapılabilir, ancak şu anda JvmLibrarySpec tarafından desteklenmiyor. Özel belirtimin nasıl yapılacağına dair bir örnekle daha eksiksiz bir yanıt göndermeye çalışacağım.

+0

Bağlantılı belgede bulunan aromalar için herhangi bir başvuru bulamadım. – RaGe

+0

@RaGe Başvuruları güncelledim. Belirtildiği gibi çalıştığından emin olmak için birkaç kez kontrol yapmam gerekiyor. Android/Java Projelerimizde değil, yalnızca c/cpp yazılım modeliyle çalışıyorum. Test yapmama izin ver ve geri bildireceğim. –

+0

@RaGe yapılabilir, ancak şu anda JvmLibrarySpec tarafından desteklenmemektedir. Bunu yapmak için kendi speklerinizi oluşturmalısınız. Yarın bir örnek göndermeye çalışacağım. –