File: build.gradle

package info (click to toggle)
firefox 149.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,767,760 kB
  • sloc: cpp: 7,416,064; javascript: 6,752,859; ansic: 3,774,850; python: 1,250,473; xml: 641,578; asm: 439,191; java: 186,617; sh: 56,634; makefile: 18,856; objc: 13,092; perl: 12,763; pascal: 5,960; yacc: 4,583; cs: 3,846; lex: 1,720; ruby: 1,002; php: 436; lisp: 258; awk: 105; sql: 66; sed: 53; csh: 10; exp: 6
file content (111 lines) | stat: -rw-r--r-- 3,717 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/* 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.configureMavenRepositories(delegate)
    }

    dependencies {
        classpath libs.kotlin.serialization
        classpath libs.mozilla.glean.gradle.plugin
    }
}

plugins {
    alias(libs.plugins.dependency.analysis)
    alias(libs.plugins.python.envs.plugin)
}

apply plugin: 'com.android.library'
apply plugin: 'com.google.devtools.ksp'
apply plugin: 'kotlin-android'
apply plugin: 'kotlinx-serialization'

android {
    defaultConfig {
        javaCompileOptions {
            annotationProcessorOptions {
                arguments += ["room.incremental": "true"]
            }
        }

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        debug {
            // We use this in androidTest to disable tests which will fail without the crashreporter
            // enabled (since they rely on the crashtools binary).
            buildConfigField 'boolean', 'MOZ_CRASHREPORTER', gradle.mozconfig.substs.MOZ_CRASHREPORTER ? 'true' : 'false';
        }
    }

    sourceSets {
        main {
            java {
                // Generated files are output in the objdir
                srcDir "${gradle.mozconfig.topobjdir}/mobile/android/android-components/components/lib/crash/src/main/java"
            }
        }
    }

    ksp {
        arg("room.schemaLocation", "$projectDir/schemas".toString())
    }

    buildFeatures {
        viewBinding = true
        buildConfig = true
    }

    namespace = 'mozilla.components.lib.crash'
}

dependencies {
    // 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 libs.mozilla.glean

    implementation project(':components:support-base')
    implementation project(':components:support-ktx')
    implementation project(':components:support-utils')

    implementation libs.androidx.appcompat
    implementation libs.androidx.constraintlayout
    implementation libs.androidx.core.ktx
    implementation libs.androidx.recyclerview
    implementation libs.androidx.room.runtime
    ksp libs.androidx.room.compiler
    implementation libs.kotlinx.coroutines
    implementation libs.kotlinx.serialization.json

    testImplementation project(':components:support-test')

    testImplementation libs.androidx.test.core
    testImplementation libs.androidx.test.junit
    testImplementation libs.androidx.work.testing
    testImplementation libs.kotlinx.coroutines.test
    testImplementation libs.mockwebserver
    testImplementation libs.mozilla.glean
    testImplementation libs.mozilla.glean.forUnitTests
    testImplementation libs.robolectric

    androidTestImplementation project(':components:support-android-test')
    androidTestImplementation libs.androidx.test.junit
    androidTestImplementation libs.mozilla.glean

    // Depend on browser-engine-gecko to get the libcrashtools.so binary for tests. We don't use jniLibs because it
    // is only available as part of the geckoview APK artifact in CI.
    androidTestRuntimeOnly project(':components:browser-engine-gecko')
}

ext {
    gleanNamespace = "mozilla.telemetry.glean"
    gleanPythonEnvDir = gradle.mozconfig.substs.GRADLE_GLEAN_PARSER_VENV
}
apply plugin: "org.mozilla.telemetry.glean-gradle-plugin"
apply from: '../../../common-config.gradle'
apply from: '../../../publish.gradle'
ext.configurePublish(config.componentsGroupId, project.name, project.ext.description)