# 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/.
---

loader: taskgraph.loader.transform:loader

transforms:
    - taskgraph.transforms.job:transforms
    - taskgraph.transforms.task:transforms

kind-dependencies:
    - toolchain


task-defaults:
    attributes:
        code-review: true
        retrigger: true
    fetches:
        toolchain:
            - android-sdk-linux
            - android-gradle-dependencies
    run:
        use-caches: false
    run-on-tasks-for: [github-pull-request, github-push]
    treeherder:
        kind: test
        platform: 'lint/opt'
        tier: 1
    worker-type: b-android
    worker:
        docker-image: {in-tree: base}
        max-run-time: 7200

tasks:
    compare-locales:
        description: 'Validate strings.xml with compare-locales'
        run:
            using: run-task
            cwd: '{checkout}'
            command: 'pip install --user "compare-locales>=5.0.2,<6.0" && compare-locales --validate l10n.toml .'
        treeherder:
            symbol: compare-locale
            tier: 2
    detekt:
        description: 'Running detekt over all modules'
        run:
            using: gradlew
            gradlew: [detekt, githubLintDetektDetails, 'mozilla-detekt-rules:test']
        treeherder:
            symbol: detekt
        worker:
            artifacts:
                - name: public/reports
                  path: /builds/worker/checkouts/vcs/build/reports
                  type: directory
                - name: public/github
                  path: /builds/worker/github
                  type: directory
    ktlint:
        description: 'Running ktlint over all modules'
        run:
            using: gradlew
            gradlew: [ktlint]
        treeherder:
            symbol: ktlint
    lint:
        description: 'Running lint over all modules'
        run:
            using: gradlew
            gradlew: ['lintDebug', 'githubLintAndroidDetails', 'mozilla-lint-rules:test']
        treeherder:
            symbol: lint
        worker:
            artifacts:
                - name: public/reports
                  path: /builds/worker/checkouts/vcs/app/build/reports
                  type: directory
                - name: public/github
                  path: /builds/worker/github
                  type: directory
