// Module level gradle declarations

apply plugin: 'com.android.application'

apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"
    defaultConfig {
        applicationId "com.fairphone.updater"
        minSdkVersion 17
        targetSdkVersion 21
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:21.0.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
    compile files('libs/RootTools-3.3.jar')
    testCompile "org.robolectric:robolectric:3.0"
}