apply plugin: 'com.android.application'

repositories {
    jcenter()
    maven { url 'https://dl.bintray.com/drummer-aidan/maven' }
	maven { url "https://jitpack.io" }
}

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "bliss.about"
        minSdkVersion 22
        targetSdkVersion 22
        versionCode 6
        versionName "6.0.1"
    }
    buildTypes {
        debug {
            minifyEnabled true
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
	lintOptions {
		abortOnError false
	}
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.android.support:cardview-v7:22.0.0'
    compile 'com.android.support:palette-v7:22.0.0'
    compile 'com.android.support:design:22.2.0'
	compile('com.github.afollestad.material-dialogs:core:0.8.5.7@aar') {
        transitive = true
    }
    compile('com.mikepenz:materialdrawer:3.0.5@aar') {
        transitive = true
    }
    compile 'com.melnykov:floatingactionbutton:1.3.0'
    compile 'com.balysv:material-ripple:1.0.2'
}
