Skip to content
Snippets Groups Projects
build.gradle 3.76 KiB
// 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 = 3050610
    versionName = project.hasProperty('forceVlc4') && project.getProperty('forceVlc4') ? '4.0.0-preview - ' + versionCode : '3.6.0 Beta 1'
    vlcMajorVersion = project.hasProperty('forceVlc4') && project.getProperty('forceVlc4') ? 4 : 3
    libvlcVersion = vlcMajorVersion == 3 ? '3.6.0-eap12' :'4.0.0-eap15'
    medialibraryVersion = vlcMajorVersion == 3 ? '0.13.13-rc12' : '0.13.13-vlc4-rc12'
    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
}