diff --git a/vendor/gradle-plugin/build.gradle b/vendor/gradle-plugin/build.gradle index 657e49bb60..626dfca794 100644 --- a/vendor/gradle-plugin/build.gradle +++ b/vendor/gradle-plugin/build.gradle @@ -6,6 +6,12 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' +def computeKotlinVersion = { -> project.hasProperty("kotlinVersion") ? kotlinVersion : "1.4.21" } +def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk : 28 as int } +def computeTargetSdkVersion = { -> project.hasProperty("targetSdk") ? targetSdk : 28 as int } +def computeBuildToolsVersion = { -> + project.hasProperty("buildToolsVersion") ? buildToolsVersion : "28.0.3" as String +} buildscript { def computeKotlinVersion = { -> project.hasProperty("kotlinVersion") ? kotlinVersion : "1.4.21" } @@ -88,39 +94,36 @@ allprojects { } -def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk : 28 } -def computeBuildToolsVersion = { -> - project.hasProperty("buildToolsVersion") ? buildToolsVersion : "28.0.3" -} - android { + kotlinOptions { + jvmTarget = '1.8' + } applyBeforePluginGradleConfiguration() compileSdkVersion computeCompileSdkVersion() buildToolsVersion computeBuildToolsVersion() + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + defaultConfig { - targetSdkVersion 26 + targetSdkVersion computeTargetSdkVersion() versionCode 1 versionName "1.0" } } dependencies { - def supportVer = "28.0.0" - if (project.hasProperty("supportVersion")) { - supportVer = supportVersion - } - compileOnly "com.android.support:support-v4:$supportVer" - compileOnly "com.android.support:appcompat-v7:$supportVer" - - configurations.all { - resolutionStrategy.eachDependency { DependencyResolveDetails details -> - if (details.requested.group == "com.android.support" && !details.requested.name.startsWith("multidex")) { - details.useVersion supportVer - } - } - } + def androidXMultidexVersion = project.hasProperty("androidXMultidexVersion") ? project.androidXMultidexVersion : "2.0.1" + def androidxVersion = project.hasProperty("androidxVersion") ? project.androidxVersion : "1.2.0" + def androidXAppCompatVersion = project.hasProperty("androidXAppCompat") ? project.androidXAppCompat : "1.3.1" + def kotlinVersion = computeKotlinVersion() + implementation "androidx.multidex:multidex:$androidXMultidexVersion" + implementation "androidx.core:core:$androidxVersion" + implementation "androidx.appcompat:appcompat:$androidXAppCompatVersion" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion" } def applyBeforePluginGradleConfiguration() { @@ -131,4 +134,25 @@ def applyBeforePluginGradleConfiguration() { outLogger.withStyle(Style.SuccessHeader).println "\t ~ applying user-defined configuration from ${beforePluginGradle}" apply from: pathToBeforePluginGradle } -} \ No newline at end of file +} + +afterEvaluate { + def generateBuildConfig = project.hasProperty("generateBuildConfig") ? project.generateBuildConfig : false + def generateR = project.hasProperty("generateR") ? project.generateR : false + generateReleaseBuildConfig.enabled = generateBuildConfig + generateDebugBuildConfig.enabled = generateBuildConfig + generateReleaseResValues.enabled = generateR + generateDebugResValues.enabled = generateR +} +tasks.whenTaskAdded({ DefaultTask currentTask -> + if (currentTask.name == 'bundleRelease' || currentTask.name == 'bundleDebug') { + def generateBuildConfig = project.hasProperty("generateBuildConfig") ? project.generateBuildConfig : false + def generateR = project.hasProperty("generateR") ? project.generateR : false + if (!generateBuildConfig) { + currentTask.exclude '**/BuildConfig.class' + } + if (!generateR) { + currentTask.exclude '**/R.class', '**/R$*.class' + } + } +}) \ No newline at end of file diff --git a/vendor/gradle-plugin/gradle.properties b/vendor/gradle-plugin/gradle.properties index 4385ddd9f4..849c4366ef 100644 --- a/vendor/gradle-plugin/gradle.properties +++ b/vendor/gradle-plugin/gradle.properties @@ -18,3 +18,6 @@ org.gradle.jvmargs=-Xmx16384M android.enableJetifier=true android.useAndroidX=true +android.nonTransitiveRClass=true +android.namespacedRClass=true +android.enableSeparateRClassCompilation=true \ No newline at end of file