// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.android_plugin_version = '8.4.0' ext.kotlin_version = '1.9.22' ext.kotlinx_version = '1.7.1' repositories { flatDir dirs: "gradle/plugins" google() mavenCentral() mavenLocal() } dependencies { classpath "com.android.tools.build:gradle:$android_plugin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath 'com.vanniktech:gradle-maven-publish-plugin:0.25.2' } } allprojects { repositories { google() mavenCentral() mavenLocal() } tasks.withType(Javadoc) { // Ignores errors from mavenAndroidJavadocs task // (reference: github.com/novoda/bintray-release/issues/71#issuecomment-164324255) options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += ['-opt-in=kotlin.RequiresOptIn'] } } } ext { appId = "org.videolan.vlc" versionCode = 3050730 versionName = project.hasProperty('forceVlc4') && project.getProperty('forceVlc4') ? '4.0.0-preview - ' + versionCode : '3.6.0 Beta 3' vlcMajorVersion = project.hasProperty('forceVlc4') && project.getProperty('forceVlc4') ? 4 : 3 libvlcVersion = vlcMajorVersion == 3 ? '3.6.0-eap13' :'4.0.0-eap16' medialibraryVersion = vlcMajorVersion == 3 ? '0.13.13-rc13' : '0.13.13-vlc4-rc13' minSdkVersion = 17 targetSdkVersion = 34 compileSdkVersion = 34 desugarLib = '2.0.4' androidxLegacyVersion = '1.0.0' androidxCoreVersion = '1.12.0' appCompatVersion = '1.6.1' lifecycleVersion = '2.5.1' androidxPreferencesVersion = '1.2.1' androidxActivityVersion = '1.8.2' androidxFragmentVersion = '1.6.2' androidxAnnotationVersion = '1.7.1' androidxRecyclerviewVersion = '1.3.2' androidxLeanbackVersion = '1.0.0' androidxMaterialVersion = '1.11.0' constraintLayoutVersion = '2.1.4' windowVersion = '1.1.0' mediaVersion = '1.6.0' jdbcVersion = '3.36.0' viewPager2Version = "1.0.0" archVersion = '2.2.0' roomVersion = '2.6.1' pagingVersion = '3.2.1' junitVersion = '4.13.2' junitExtVersion = '1.1.5' mockito = '2.25.0' //Retrofit 2.7 drops Android 5 support retrofit = '2.7.1' moshi = '1.8.0' ktorVersion = '2.3.7' powerMock = '2.0.2' espressoVersion = '3.5.1' livedataTest = '1.2.0' robolectric = '4.3.1' mockk = '1.9.3' testRunner = '1.4.0' orchestrator = '1.4.2' testCore = '1.5.0' publishScriptPath = '../../buildsystem/publish.gradle' // versionCode scheme is T M NN RR AA // T: Target/Flavour (1 for Android, 2 for Chrome?) // M: Major version from 0 to 9 // NN: Minor version from 00 to 99 // RR: Micro/Revision version from 00 to 99 // AA: ABI from 0 to 99 // Starting from 13050420 the last digit represents the ABI and the variant (normal or NoTv) // Also, the values are sorted to allow the most pertinent version to be prioritized // // Old values // 0 is dev // 1 was ARMv5 (deprecated) // 2 was ARMv6-nofpu (deprecated) // 3 was ARMv6-fpu (deprecated) // 4 is ARMv7-A // 5 is x86 // 6 is MIPS // 7 is ARMv8 // 8 is x86_64 // 9 is MIPS64 // // New values // 0 is dev // 1 is ARMv7-A No TV // 2 is ARMv8 No TV // 3 is x86 No TV // 4 is x86_64 No TV // 5 is ARMv7-A // 6 is ARMv8 // 7 is x86 // 8 is ARMv7-A }