зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1234629 - Post: Add Gradle support for bouncer. r=me
--HG-- extra : commitid : 6jL7OTORPHp extra : rebase_source : 8151fcd1768b7bfd0a4386dd68c8910894cae892 extra : histedit_source : 673771296f66c8ec5885fef25999e5e195a1767e
This commit is contained in:
Родитель
10ab42be96
Коммит
242ce6bb3e
|
@ -66,7 +66,9 @@ android {
|
|||
main {
|
||||
manifest.srcFile "${topobjdir}/mobile/android/base/AndroidManifest.xml"
|
||||
assets {
|
||||
if (mozconfig.substs.MOZ_ANDROID_DISTRIBUTION_DIRECTORY) {
|
||||
if (mozconfig.substs.MOZ_ANDROID_DISTRIBUTION_DIRECTORY && !mozconfig.substs.MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER) {
|
||||
// If we are packaging the bouncer, it will have the distribution, so don't put
|
||||
// it in the main APK as well.
|
||||
srcDir "${mozconfig.substs.MOZ_ANDROID_DISTRIBUTION_DIRECTORY}/assets"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,4 +22,9 @@ manifest_FLAGS += \
|
|||
-DMOZ_ANDROID_SHARED_FXACCOUNT_TYPE="$(MOZ_ANDROID_SHARED_FXACCOUNT_TYPE)" \
|
||||
$(NULL)
|
||||
|
||||
# Targets built very early during a Gradle build.
|
||||
gradle-targets: $(abspath AndroidManifest.xml)
|
||||
|
||||
.PHONY: gradle-targets
|
||||
|
||||
libs:: $(ANDROID_APK_NAME).apk
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
buildDir "${topobjdir}/gradle/build/mobile/android/bouncer"
|
||||
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 23
|
||||
buildToolsVersion "23.0.1"
|
||||
|
||||
defaultConfig {
|
||||
targetSdkVersion 23
|
||||
minSdkVersion 15
|
||||
applicationId mozconfig.substs.ANDROID_PACKAGE_NAME
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
|
||||
dexOptions {
|
||||
javaMaxHeapSize "2g"
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile "${topobjdir}/mobile/android/bouncer/AndroidManifest.xml"
|
||||
assets {
|
||||
if (mozconfig.substs.MOZ_ANDROID_DISTRIBUTION_DIRECTORY) {
|
||||
srcDir "${mozconfig.substs.MOZ_ANDROID_DISTRIBUTION_DIRECTORY}/assets"
|
||||
}
|
||||
}
|
||||
java {
|
||||
srcDir 'java'
|
||||
}
|
||||
res {
|
||||
srcDir "${topsrcdir}/${mozconfig.substs.MOZ_BRANDING_DIRECTORY}/res" // For the icon.
|
||||
srcDir 'res'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task generateCodeAndResources(type:Exec) {
|
||||
workingDir "${topobjdir}"
|
||||
|
||||
commandLine mozconfig.substs.GMAKE
|
||||
args '-C'
|
||||
args "${topobjdir}/mobile/android/bouncer"
|
||||
args 'gradle-targets'
|
||||
|
||||
// Only show the output if something went wrong.
|
||||
ignoreExitValue = true
|
||||
standardOutput = new ByteArrayOutputStream()
|
||||
errorOutput = standardOutput
|
||||
doLast {
|
||||
if (execResult.exitValue != 0) {
|
||||
throw new GradleException("Process '${commandLine}' finished with non-zero exit value ${execResult.exitValue}:\n\n${standardOutput.toString()}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
android.applicationVariants.all {
|
||||
preBuild.dependsOn generateCodeAndResources
|
||||
}
|
||||
}
|
|
@ -38,6 +38,11 @@ project(':base').projectDir = new File("${json.topsrcdir}/mobile/android/app/bas
|
|||
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).
|
||||
|
|
Загрузка…
Ссылка в новой задаче