buildscript { ext { activityVersion = '1.2.0-rc01' agpVersion = '4.1.2' annotationsVersion = '1.1.0' appcompatVersion = '1.2.0' biometricVersion = '1.1.0-rc01' collectionVersion = '1.1.0' constraintLayoutVersion = '2.0.4' coordinatorLayoutVersion = '1.1.0' coreKtxVersion = '1.3.2' coroutinesVersion = '1.4.2' datastoreVersion = '1.0.0-alpha02' desugarVersion = '1.0.10' fragmentVersion = '1.3.0-rc02' jsr305Version = '3.0.2' junitVersion = '4.13.1' kotlinVersion = '1.4.21-2' lifecycleRuntimeKtxVersion = '2.3.0-rc01' materialComponentsVersion = '1.3.0-rc01' preferenceVersion = '1.1.1' zxingEmbeddedVersion = '3.6.0' groupName = 'com.wireguard.android' } dependencies { classpath "com.android.tools.build:gradle:$agpVersion" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } repositories { google() mavenCentral() } } plugins { id "de.undercouch.download" version "4.1.1" } task downloadCrowdin(type: Download) { src 'https://crowdin.com/backend/download/project/wireguard.zip' dest file('build/translations.zip') overwrite true } task cleanCrowdin(type: Delete) { delete 'ui/src/main/res/values-*/strings.xml' } task extractCrowdin(type: Copy, dependsOn: ['downloadCrowdin', 'cleanCrowdin']) { mustRunAfter 'downloadCrowdin' from zipTree(file('build/translations.zip')) into file('build/translations') doFirst { delete 'build/translations' } } task crowdin(type: Copy, dependsOn: ['extractCrowdin']) { mustRunAfter 'extractCrowdin' from 'build/translations/wireguard-android/ui/src/main/res' into 'ui/src/main/res/' doLast { delete 'build/translations' delete 'build/translations.zip' } } allprojects { repositories { google() mavenCentral() jcenter() { content { // https://github.com/journeyapps/zxing-android-embedded/issues/606 includeModule("com.journeyapps", "zxing-android-embedded") // https://youtrack.jetbrains.com/issue/IDEA-261387 includeModule("org.jetbrains.trove4j", "trove4j") } } } } task clean(type: Delete) { delete rootProject.buildDir } tasks { wrapper { gradleVersion = "6.8.2" distributionType = Wrapper.DistributionType.ALL distributionSha256Sum = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" } } apply from: "version.gradle"