apply plugin: 'com.github.ben-manes.versions' // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() maven { url 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.github.ben-manes:gradle-versions-plugin:0.14.0' classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.google.gms:google-services:3.0.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath('fr.avianey.androidsvgdrawable:gradle-plugin:3.0.0') { // should be excluded to avoid conflict exclude group: 'xerces' } // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenLocal() jcenter() maven { url 'https://jitpack.io' } } } subprojects { buildscript { ext { libVersions = [ Kotlin : '1.1.1', SupportLib : '25.3.1', MariotakuCommons : '0.9.13', RestFu : '0.9.51', ObjectCursor : '0.9.16', PlayServices : '10.2.1', MapsUtils : '0.4.4', Crashlyrics : '2.6.7', FabricPlugin : '1.22.1', PlayPublisher : '1.1.5', DropboxCoreSdk : '2.1.2', GoogleDriveApi : 'v3-rev61-1.22.0', Exoplayer : 'r2.2.0', Toro : '2.1.0', LoganSquare : '1.3.7', IABv3 : '1.0.38', Mime4J : '0.7.2', Stetho : '1.4.2', OSMDroid : '5.6.4', LeakCanary : '1.5', TwitterText : '1.14.3', MediaViewerLibrary : '0.9.23', MultiValueSwitch : '0.9.8', PickNCrop : '0.9.27', AndroidGIFDrawable : '1.2.6', KPreferences : '0.9.7', Kovenant : '3.3.0', ParcelablePlease : '1.0.2', Chameleon : '0.9.17', UniqR : '0.9.1', SQLiteQB : '0.9.15', Glide : '3.7.0', GlideOkHttp3 : '1.4.0', GlideTransformations: '2.0.1', AndroidImageCropper : '2.4.0', ] } } afterEvaluate { project -> if (project.hasProperty('android')) { android { compileSdkVersion 25 buildToolsVersion '25.0.2' lintOptions { abortOnError false lintConfig rootProject.file('lint.xml') } packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/license.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/notice.txt' exclude 'META-INF/ASL2.0' } if (android.hasProperty('buildTypes') && project.plugins.hasPlugin('com.android.application')) { android.buildTypes.each { buildType -> def file = rootProject.file('private/signing.properties') if (file.exists()) { def cfg = signingConfigs.maybeCreate(buildType.name) loadSigningConfig(cfg, file) buildType.signingConfig = cfg } } } } } } } def loadSigningConfig(def cfg, def file) { Properties signingProp = new Properties() signingProp.load(file.newInputStream()) cfg.setStoreFile(rootProject.file(signingProp.get('storeFile'))) cfg.setStorePassword((String) signingProp.get('storePassword')) cfg.setKeyAlias((String) signingProp.get('keyAlias')) cfg.setKeyPassword((String) signingProp.get('keyPassword')) }