summaryrefslogtreecommitdiffstats
path: root/mobile/android/gradle.configure
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/gradle.configure')
-rw-r--r--mobile/android/gradle.configure59
1 files changed, 59 insertions, 0 deletions
diff --git a/mobile/android/gradle.configure b/mobile/android/gradle.configure
new file mode 100644
index 000000000..22e3b6805
--- /dev/null
+++ b/mobile/android/gradle.configure
@@ -0,0 +1,59 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# If --with-gradle is specified, build mobile/android with Gradle. If no
+# Gradle binary is specified, or if --without-gradle is specified, use the in
+# tree Gradle wrapper. The wrapper downloads and installs Gradle, which is
+# good for local developers but not good in automation.
+option('--with-gradle', nargs='?',
+ help='Enable building mobile/android with Gradle '
+ '(argument: location of binary or wrapper (gradle/gradlew))')
+
+@depends('--with-gradle')
+def with_gradle(value):
+ if value:
+ return True
+
+set_config('MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE', with_gradle)
+
+
+@depends('--with-gradle', check_build_environment)
+@imports(_from='os.path', _import='isfile')
+def gradle(value, build_env):
+ gradle = value[0] if len(value) else \
+ os.path.join(build_env.topsrcdir, 'gradlew')
+
+ # TODO: verify that $GRADLE is executable.
+ if not isfile(gradle):
+ die('GRADLE must be executable: %s', gradle)
+
+ return gradle
+
+set_config('GRADLE', gradle)
+
+
+# Automation uses this to change log levels, not use the daemon, and use
+# offline mode.
+option(env='GRADLE_FLAGS', default='', help='Flags to pass to Gradle.')
+
+@depends('GRADLE_FLAGS')
+def gradle_flags(value):
+ return value[0] if value else ''
+
+set_config('GRADLE_FLAGS', gradle_flags)
+
+
+# Automation will set this to file:///path/to/local via the mozconfig.
+# Local developer default is jcenter.
+option(env='GRADLE_MAVEN_REPOSITORY', default='https://jcenter.bintray.com/',
+ help='Path to Maven repository containing Gradle dependencies.')
+
+@depends('GRADLE_MAVEN_REPOSITORY')
+def gradle_maven_repository(value):
+ if value:
+ return value[0]
+
+set_config('GRADLE_MAVEN_REPOSITORY', gradle_maven_repository)