buildscript { ext.kotlin_version = '1.2.61' repositories { mavenCentral() google() jcenter() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.android.tools.build:gradle:3.1.4' classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2" classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } plugins { // gradle dependencyUpdates -Drevision=release id "com.github.ben-manes.versions" version "0.20.0" } project.ext.preDexLibs = !project.hasProperty("disablePreDex") subprojects { apply plugin: 'build-dashboard' // build/reports/buildDashboard/index.html project.plugins.whenPluginAdded { plugin -> if ("com.android.build.gradle.AppPlugin" == plugin.class.name) { project.android.dexOptions.preDexLibraries = rootProject.ext.preDexLibs } else if ("com.android.build.gradle.LibraryPlugin" == plugin.class.name) { project.android.dexOptions.preDexLibraries = rootProject.ext.preDexLibs } } } ext { GROUP_ID = "io.github.wulkanowy" supportVersion = "27.1.1" flexibleAdapter = "5.0.5" flexibleUi = "1.0.0-b5" firebaseJob = "0.8.5" apacheLang = "3.7" apacheCollections = "4.2" butterknife = "8.8.1" threeTenABP = "1.1.0" dagger2 = "2.17" ahbottom = "2.2.0" jsoup = "1.11.3" gson = "2.8.5" ossLicenses = "16.0.0" slf4jApi = "1.7.25" slf4jTimber = "1.0.1" timber = "4.7.1" debugDb = "1.0.4" junit = "4.12" mockito = "2.19.1" testRunner = "1.0.2" fabricGradle = "1.25.4" crashlyticsSdk = "2.9.4" crashlyticsAnswers = "1.4.2" playPublisher = "1.2.2" } allprojects { repositories { mavenCentral() google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } dependencyUpdates.resolutionStrategy { componentSelection { rules -> rules.all { ComponentSelection selection -> boolean rejected = ['alpha', 'beta', 'rc', 'cr', 'm'].any { qualifier -> selection.candidate.version ==~ /(?i).*[.-]${qualifier}[.\d-]*/ } if (rejected) { selection.reject('Release candidate') } } } }