124 lines
4.6 KiB
Groovy
124 lines
4.6 KiB
Groovy
/* 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/. */
|
|
|
|
buildscript {
|
|
repositories {
|
|
gradle.mozconfig.substs.GRADLE_MAVEN_REPOSITORIES.each { repository ->
|
|
maven {
|
|
url repository
|
|
if (gradle.mozconfig.substs.ALLOW_INSECURE_GRADLE_REPOSITORIES) {
|
|
allowInsecureProtocol = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
classpath "${ApplicationServicesConfig.groupId}:tooling-nimbus-gradle:${ApplicationServicesConfig.version}"
|
|
classpath "org.mozilla.telemetry:glean-gradle-plugin:${Versions.mozilla_glean}"
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id "com.jetbrains.python.envs" version "$python_envs_plugin"
|
|
}
|
|
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'kotlin-android'
|
|
|
|
android {
|
|
defaultConfig {
|
|
minSdkVersion config.minSdkVersion
|
|
compileSdk config.compileSdkVersion
|
|
targetSdkVersion config.targetSdkVersion
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
// Export experiments proguard rules even in debug since consuming apps may still
|
|
// enable proguard/R8
|
|
consumerProguardFiles 'proguard-rules-consumer.pro'
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
consumerProguardFiles 'proguard-rules-consumer.pro'
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
buildConfig true
|
|
}
|
|
|
|
namespace 'mozilla.components.service.nimbus'
|
|
}
|
|
|
|
dependencies {
|
|
// These dependencies are part of this module's public API.
|
|
api (ComponentsDependencies.mozilla_appservices_nimbus) {
|
|
// Use our own version of the Glean dependency,
|
|
// which might be different from the version declared by A-S.
|
|
exclude group: 'org.mozilla.telemetry', module: 'glean'
|
|
}
|
|
|
|
implementation ComponentsDependencies.androidx_core_ktx
|
|
implementation ComponentsDependencies.androidx_constraintlayout
|
|
implementation ComponentsDependencies.androidx_coordinatorlayout
|
|
implementation ComponentsDependencies.androidx_recyclerview
|
|
implementation ComponentsDependencies.androidx_work_runtime
|
|
|
|
implementation ComponentsDependencies.kotlin_coroutines
|
|
|
|
implementation ComponentsDependencies.mozilla_appservices_nimbus
|
|
|
|
implementation project(':support-base')
|
|
implementation project(':support-locale')
|
|
implementation project(':support-ktx')
|
|
implementation project(':support-utils')
|
|
|
|
// We only compile against GeckoView and Glean. It's up to the app to add those dependencies if it wants to
|
|
// send crash reports to Socorro (GV).
|
|
compileOnly ComponentsDependencies.mozilla_glean
|
|
|
|
testImplementation ComponentsDependencies.mozilla_appservices_full_megazord_forUnitTests
|
|
testImplementation ComponentsDependencies.androidx_test_core
|
|
testImplementation ComponentsDependencies.androidx_test_junit
|
|
testImplementation ComponentsDependencies.testing_mockwebserver
|
|
testImplementation ComponentsDependencies.testing_robolectric
|
|
testImplementation ComponentsDependencies.testing_coroutines
|
|
testImplementation ComponentsDependencies.mozilla_glean_forUnitTests
|
|
testImplementation ComponentsDependencies.androidx_work_testing
|
|
testImplementation project(':support-test')
|
|
testImplementation ComponentsDependencies.mozilla_glean
|
|
}
|
|
|
|
apply from: '../../../android-lint.gradle'
|
|
apply from: '../../../publish.gradle'
|
|
ext.configurePublish(config.componentsGroupId, archivesBaseName, project.ext.description)
|
|
|
|
|
|
apply plugin: "org.mozilla.appservices.nimbus-gradle-plugin"
|
|
|
|
nimbus {
|
|
// The path to the Nimbus feature manifest file
|
|
manifestFile = "messaging.fml.yaml"
|
|
|
|
// Map from the variant name to the channel as experimenter and nimbus understand it.
|
|
// If nimbus's channels were accurately set up well for this project, then this
|
|
// shouldn't be needed.
|
|
channels = [
|
|
debug: "debug",
|
|
release: "release",
|
|
]
|
|
|
|
// This is an optional value, and updates the plugin to use a copy of application
|
|
// services. The path should be relative to the root project directory.
|
|
// *NOTE*: This example will not work for all projects, but should work for Fenix, Focus, and Android Components
|
|
applicationServicesDir = gradle.hasProperty('localProperties.autoPublish.application-services.dir')
|
|
? gradle.getProperty('localProperties.autoPublish.application-services.dir') : null
|
|
}
|
|
|
|
ext.gleanNamespace = "mozilla.telemetry.glean"
|
|
apply plugin: "org.mozilla.telemetry.glean-gradle-plugin"
|