settings.gradle
author Nicolas Chevobbe <nchevobbe@mozilla.com>
Fri, 06 Oct 2017 10:02:49 +0200
changeset 385139 a5584789d1d0468cf24538b1e1a05e8065e58b3f
parent 365552 61edb6b490719686c8e9f8e3bf4bdd401aa1c2b5
child 388502 31f87080283b1dc558f3781e0ec2ca59d102de82
permissions -rw-r--r--
Bug 1406042 - Copy relevant old console test to the new frontend; r=Honza This patch copies the tests from the old frontend that are relevant in the context of the new frontend. They are all added in the browser.ini and all are skipped. The number of the bug to do the test migration is indicated as a comment. Some tests were renamed to match what they actually do, or to match which component they test (console, webconsole, jsterm), or simply to remove a bug number in the filename. In the latter case, a reference to the bug was added inside the test if it wasn't already the case. All the support files from the old frontend were copied over, because it would have been time consuming to test if each one of them was used in the tests. A bug will be filed to do a support files cleanup when all the tests are migrated. MozReview-Commit-ID: GhXcCuVBXT5

// You might think topsrcdir is '.', but that's not true when the Gradle build
// is launched from within IntelliJ.
def topsrcdir = rootProject.projectDir.absolutePath

def commandLine = ["${topsrcdir}/mach", "environment", "--format", "json", "--verbose"]
def proc = commandLine.execute(null, new File(topsrcdir))
def standardOutput = new ByteArrayOutputStream()
proc.consumeProcessOutput(standardOutput, standardOutput)
proc.waitFor()

// Only show the output if something went wrong.
if (proc.exitValue() != 0) {
    throw new GradleException("Process '${commandLine}' finished with non-zero exit value ${proc.exitValue()}:\n\n${standardOutput.toString()}")
}

import groovy.json.JsonSlurper
def slurper = new JsonSlurper()
def json = slurper.parseText(standardOutput.toString())

if (json.substs.MOZ_BUILD_APP != 'mobile/android') {
    throw new GradleException("Building with Gradle is only supported for Fennec, i.e., MOZ_BUILD_APP == 'mobile/android'.")
}

// Set the Android SDK location.  This is the *least specific* mechanism, which
// is unfortunate: we'd prefer to use the *most specific* mechanism.  That is,
// local.properties (first 'sdk.dir', then 'android.dir') and then the
// environment variable ANDROID_HOME will override this.  That's unfortunate,
// but it's hard to automatically arrange better.
System.setProperty('android.home', json.substs.ANDROID_SDK_ROOT)

include ':app'
include ':geckoview'
include ':geckoview_example'
include ':omnijar'
include ':thirdparty'

project(':app').projectDir = new File("${json.topsrcdir}/mobile/android/app")
project(':geckoview').projectDir = new File("${json.topsrcdir}/mobile/android/geckoview")
project(':geckoview_example').projectDir = new File("${json.topsrcdir}/mobile/android/geckoview_example")
project(':omnijar').projectDir = new File("${json.topsrcdir}/mobile/android/app/omnijar")
project(':thirdparty').projectDir = new File("${json.topsrcdir}/mobile/android/thirdparty")

if (json.substs.MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER) {
    include ':bouncer'
    project(':bouncer').projectDir = new File("${json.topsrcdir}/mobile/android/bouncer")
}

// The Gradle instance is shared between settings.gradle and all the
// other build.gradle files (see
// http://forums.gradle.org/gradle/topics/define_extension_properties_from_settings_xml).
// We use this ext property to pass the per-object-directory mozconfig
// between scripts.  This lets us execute set-up code before we gradle
// tries to configure the project even once, and as a side benefit
// saves invoking |mach environment| multiple times.
gradle.ext.mozconfig = json