From a92dcc075b02373a98242ab3806f2012c9925c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Wed, 11 May 2022 19:58:32 +0200 Subject: [PATCH] build: Use a task to download webRtc for proper task dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `./gradlew clean [whatever] should work now` Signed-off-by: Álvaro Brey --- app/build.gradle | 49 ++++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 69e7ee500..5073b36c1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,20 +33,6 @@ apply plugin: 'com.github.spotbugs' apply plugin: 'io.gitlab.arturbosch.detekt' apply plugin: "org.jlleitschuh.gradle.ktlint" -def urlFile = { url, fileName -> - File file = new File("$buildDir/download/${fileName}") - file.parentFile.mkdirs() - if (!file.exists()) { - new URL(url).withInputStream { downloadStream -> - file.withOutputStream { fileOut -> - fileOut << downloadStream - } - } - } - files(file.absolutePath) -} - - android { compileSdkVersion 30 buildToolsVersion '30.0.3' @@ -147,7 +133,6 @@ android { } check.dependsOn 'spotbugsGplayDebug', 'lint', 'ktlintCheck', 'detekt' - lint.dependsOn 'preBuild' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -176,10 +161,12 @@ ext { powermockVersion = "2.0.9" retrofit2Version = "2.9.0" workVersion = "2.6.0" - markwonVersion = "4.6.2" + markwonVersion = "4.6.2" espressoVersion = "3.4.0" } +def webRtcVersion = "96.4664.0" + configurations.all { exclude group: 'com.google.firebase', module: 'firebase-core' exclude group: 'com.google.firebase', module: 'firebase-analytics' @@ -253,8 +240,7 @@ dependencies { kapt "com.jakewharton:butterknife-compiler:${butterknifeVersion}" implementation 'eu.davidea:flexible-adapter:5.1.0' implementation 'eu.davidea:flexible-adapter-ui:1.0.0' - implementation urlFile('https://github.com/nextcloud-releases/talk-clients-webrtc/releases/download/96.4664.0-RC1/libwebrtc-96.4664.0.aar', - 'libwebrtc-96.4664.0.aar') + implementation files("${project.buildDir}/download/libwebrtc-${webRtcVersion}.aar") implementation 'com.yarolegovich:lovely-dialog:1.1.1' implementation 'com.yarolegovich:mp:1.1.6' implementation 'me.zhanghai.android.effortlesspermissions:library:1.1.0' @@ -361,3 +347,30 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { jvmTarget = "1.8" } } + +abstract class DownloadWebRtcTask extends DefaultTask { + @Input + abstract Property getVersion() + + @TaskAction + def run() { + def webRtcVersion = version.get() + def fileName = "libwebrtc-${webRtcVersion}.aar" + def url = "https://github.com/nextcloud-releases/talk-clients-webrtc/releases/download/${webRtcVersion}-RC1/libwebrtc-${webRtcVersion}.aar" + + File file = new File("${project.buildDir}/download/${fileName}") + file.parentFile.mkdirs() + if (!file.exists()) { + new URL(url).withInputStream { downloadStream -> + file.withOutputStream { fileOut -> + fileOut << downloadStream + } + } + } + } +} + +tasks.register('downloadWebRtc', DownloadWebRtcTask){ + version = webRtcVersion +} +preBuild.dependsOn('downloadWebRtc') \ No newline at end of file