build.gradle   [plain text]


apply plugin: "com.android.model.library"

model {
    repositories {
        libs(PrebuiltLibraries) {
            corecrypto {
                headers.srcDir project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/corecrypto/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file(project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/corecrypto/prebuilts/${targetPlatform.getName()}/libcorecrypto.so")
                }
            }
            dispatch {
                headers.srcDir project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/swift_corelibs_libdispatch/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file(project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/swift_corelibs_libdispatch/lib/${targetPlatform.getName()}/libdispatch.so")
                }
            }
            stl {
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file(project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/commoncrypto/lib/${targetPlatform.getName()}/libc++_shared.so")
                }
            }
            commoncrypto {
                headers.srcDir project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/commoncrypto/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file(project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/commoncrypto/lib/${targetPlatform.getName()}/libcommoncrypto.so")
                }
            }
            commoncryptotest {
                headers.srcDir project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/commoncrypto/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file(project.ext.swePath+"/release/Software/Harissa/Updates/BuiltHarissa/Roots/commoncrypto/lib/${targetPlatform.getName()}/libcommoncryptotest.so")
                }
            }
        }
    }
    android {
        compileSdkVersion 22
        buildToolsVersion "25.0.2"
        ndk {

            toolchain "clang"
            moduleName "commoncrypto_test"

            ldLibs.add("log")
        }

        defaultConfig {
            minSdkVersion.apiLevel 15
            targetSdkVersion.apiLevel 22
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }

        productFlavors {
            create("fat") {
                ndk {
                    abiFilters.add("armeabi-v7a")
                    abiFilters.add("arm64-v8a")
                    abiFilters.add("x86")
                    abiFilters.add("x86_64")
                }
            }
        }

        sources {
            main {
                java {
                    source {
                        srcDir 'src/main/java'
                    }
                }
                jni {
                    source {
                        srcDirs += "src/main/jni"
                    }
                    dependencies {
                        library "dispatch"
                        library "corecrypto"
                        library "stl"
                        library "commoncrypto"
                        library "commoncryptotest"
                    }
                }
            }
            test {
                java {
                    source {
                        srcDir 'src/test/java'
                    }
                }
            }
            androidTest {
                java {
                    source {
                        srcDir 'src/androidTest/java'
                    }
                }
            }
        }
    }
}

dependencies {
    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test:runner:0.5'
}