From fab60f2ddb4917515570f7c60a1be22670cd836e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 2 Mar 2015 15:46:41 +0100 Subject: Gradle hack to always use same build tools in subprojects --- build.gradle | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'build.gradle') diff --git a/build.gradle b/build.gradle index f8e6afc27..9b6363e93 100644 --- a/build.gradle +++ b/build.gradle @@ -38,3 +38,34 @@ project(':extern:spongycastle') { test.enabled = false } } + +// Copied from https://gitlab.com/fdroid/fdroidclient/blob/master/build.gradle#L144 +subprojects { + + // This is the hacky way which we force the subprojects to use the same build tools: + // http://stackoverflow.com/a/21032272 + afterEvaluate { + if ( it.hasProperty( 'android' ) ) { + android { + + // The android build task only lets you configure the buildToolsVersion once, so if + // we execute the closure below to configure our subprojects, it will fail when it + // hits the second subproject. Therefore, we will only do it once, and I guess the + // android plugin will re-use the existing value I set. + // https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/BaseExtension.groovy + try { + buildToolsVersion '21.1.2' + logger.info("Set buildToolsVersion to '21.1.2'") + } catch (GradleException e) { + logger.info("Tried to set the buildToolsVersion, however we were not allowed to: $e.message") + } + + // don't abort build on lint errors + // http://stackoverflow.com/a/25149514 + configure(android.lintOptions) { + abortOnError false + } + } + } + } +} \ No newline at end of file -- cgit v1.2.3