/*
 * Copyright 2017 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */
apply plugin: 'com.android.application'

dependencies {
    compile 'com.android.support:design:26.+'
    compile 'com.android.support.test:runner:0.5'
}

android {
    compileSdkVersion 26
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId "org.skia.skqp"
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.debug
    }
    sourceSets.main.jni.srcDirs = []
    sourceSets.main.jniLibs.srcDir "src/main/libs"
    productFlavors { universal{}; arm {}; arm64 {}; x86 {}; x64 {}; arm64vulkan{}; }
    setupSkiaLibraryBuild(project, applicationVariants, "libskqp_app")
}
